Если есть Xml-файл с 3 записями
Название страны = "Дания" InternetTLD = "dk"
Название страны = "Голландия" InternetTLD = "nl"
Название страны = "Великобритания" InternetTLD = "Великобритания"
На моей веб-странице, если есть текстовое поле, gridview и xmlDataSource.Когда я ничего не указываю в текстовом поле, тогда все три страны загружаются с помощью запроса LINQ в xmlDataSource и затем отображаются в виде сетки.Но когда я указываю, например, «Дания» в текстовом поле, тогда я продолжаю видеть все 3 записи, тогда как свойство count запроса LINQ говорит 1, а свойство Data в xmlDataSource также показывает только 1 страну (Дания), как и должнобыть.
Проблема в том, что gridView, кажется, не обновляет новые данные ???
Вот мой код:
protected void Page_Load(object sender, EventArgs e)
{
QueryXml();
} // Page_Load()
private void QueryXml()
{
XElement _countries = XElement.Load(Server.MapPath(COUNTRIES_XML));
IEnumerable<XElement> query = null;
// extract all countries
if (txtCountry.Text == "" || txtCountry.Text == "*")
{
query = from c in _countries.Elements()
select c;
}
else
{
// Extract all elements where Name has been specified
query = from c in _countries.Elements()
where c.Attribute("Name").Value.ToString().StartsWith(txtCountry.Text, StringComparison.CurrentCultureIgnoreCase)
select c;
}
// Set xml filtered string data source
xmlDsCountries.Data =
"<Countries>" +
string.Join("", query.Select(country => country.ToString())) +
"</Countries>";
// set the data source of the gridview
gdvwCountries.DataSource = xmlDsCountries;
// Show the data
gdvwCountries.DataBind();
lblMsg.Text = query.Count().ToString();
} // QueryXml()
Почему не gridViewосвежает?
спасибо
Крис