Как получить измененное значение текстового поля с привязкой к данным в сетке данных - PullRequest
2 голосов
/ 17 сентября 2008

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
}

Ответы [ 2 ]

0 голосов
/ 17 сентября 2008

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

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

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

0 голосов
/ 17 сентября 2008

То есть пример кода из события нажатия кнопки?

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...