Как получить измененное значение текстового поля с привязкой к данным в сетке данных

StackOverflow https://stackoverflow.com/questions/78847

  •  09-06-2019
  •  | 
  •  

Вопрос

ASP.NET 1.1. У меня есть DataGrid на странице ASPX, которая привязана к данным и отображает значение в текстовом поле.Пользователь может изменить это значение, затем нажать кнопку, где код в основном перебирает каждый DataGridItem в сетке, выполняет FindControl для идентификатора текстового поля, а затем присваивает значение .Text переменной, которая затем используется для обновить базу данных.DataGrid восстанавливается с новыми значениями.

Проблема, с которой я столкнулся, заключается в том, что при присвоении значения .Text переменной извлекаемое значение является исходным значением, связанным с данными, а не вновь введенным пользовательским значением.Есть идеи относительно того, что может быть причиной такого поведения?

Пример кода:

foreach(DataGridItem dgi in exGrid.Items)
{
    TextBox Text1 = (TextBox)dgi.FindControl("TextID");
    string exValue = Text1.Text; //This is retrieving the original bound value not the newly entered value
    // do stuff with the new value
}
Это было полезно?

Решение

Итак, пример кода взят из вашего события нажатия кнопки?

Вы уверены, что не перепривязываете свой источник данных при обратной передаче?

Другие советы

Когда вы пытаетесь получить значение из TextBox?то естькогда будет выполняться предоставленный вами пример кода?

Если вы еще этого не сделали, вам потребуется настроить метод обработчика для события ItemCommand DataGrid.Вам следует искать новое значение TextBox внутри этого метода.Вы также должны убедиться, что ваш DataGrid не повторно привязывается к данным при обратной передаче.

Я также настоятельно рекомендую прочитать прекрасную серию статей Скотта Митчелла об использовании элемента управления DataGrid и всех его функций:http://aspnet.4guysfromrolla.com/articles/040502-1.aspx

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top