У меня есть связанное поле в gridview, которое программно получает гиперссылку на содержимое в нем. После изменения индекса выпадающего списка он получает новый набор данных. Один из столбцов набора данных будут применяться ссылки на поля с данными и пропустить тех, кто без, вы можете увидеть мою логику для применения ссылки ниже:ASP.NET Boundfield изменяется, когда я обновляю другой gridview
if (e.Row.DataItem != null && int.TryParse(e.Row.Cells[4].Text, out incidents))
{
HyperLink incidentsLink = new HyperLink();
incidentsLink.ForeColor = System.Drawing.Color.Blue;
incidentsLink.NavigateUrl = "~/somesite.aspx?no=" + stnNum + "&dt=" + date;
incidentsLink.Text = e.Row.Cells[4].Text;
e.Row.Cells[4].Controls.Add(incidentsLink);
}
Это применяется OnRowDataBound для GridView. Затем у меня есть другое gridview, которое подключено к другому выпадающему списку. Когда индекс ниспадающего списка изменяется, он захватывает новый набор данных для связанного gridview и запускает обновление ajax с помощью панели обновления.
Что происходит, когда второй gridview обновляет его, стирает ссылки в первом gridview. Он не стирает текст, который остается, но текст больше не привязан к ссылке. Все ссылки, сделанные таким образом и помещенные в gridviews, теряют свои свойства ссылок, однако поля, созданные с помощью asp: HyperLinkField, остаются неизменными. Проблема в том, что stnNum и дата не являются частью набора данных, который возвращается для первого gridview, поэтому я должен добавить их как ссылку после того, как gridview уже построен.
Единственное решение, о котором я могу думать, - это отредактировать функцию, которая добавляет ссылки на gridview каждый раз при обновлении второго gridview. Любые другие решения были бы полезны, или объяснение того, почему моя ссылка стирается, было бы здорово.