Получение ключей и NewValues ​​в Formview с привязкой данных вручную - PullRequest
2 голосов
/ 25 июля 2010

У меня есть Formview, связанный в файле кода с общим списком.Теперь, после редактирования записи, я хочу получить доступ к ключам и новым значениям из параметра FormViewUpdateEventArgs метода обработчика событий ItemUpdating.

Из того, что я пробовал и искал по Интернету, каксейчас я узнал, что обновленные значения доступны только в том случае, если в Formview установлен элемент управления источником данных на странице разметки, иначе они будут нулевыми.Это правда?

Во-вторых, в данный момент я преобразую объект sender в форму и индивидуально заполняю каждое свойство объекта с помощью метода FindControl для поиска и получения значений, присутствующих в элементах управления.Это лучший способ выполнить эту задачу?

В качестве примера, вот что я делаю в банкомате:

FormView currentForm = (FormView)sender;
ListObject.ID = new Guid(((HiddenField)(currentForm.FindControl("hdnID"))).Value);
ListObject.Name = ((TextBox)(currentForm.FindControl("txtName"))).Text;

Спасибо за помощь, парни!

1 Ответ

0 голосов
/ 20 января 2011

Исходя из того, что вы делаете, я бы предложил вам , а не использовать FormView. FormView великолепны при работе с источниками данных, но терпят неудачу, когда имеешь дело с данными, привязанными вручную, так, как ты, это в основном переопределяет и создает форму вручную, и было бы проще просто создать форму HTML и серверные элементы управления ASP.Net.

FindControl является дорогостоящей операцией и может стать громоздкой. Простое присвоение значения во время цикла ваших данных элементу управления на стороне сервера будет быстрее.

В качестве альтернативы, как предложено, используйте ObjectDataSource и таким образом привяжите свои данные к FormView.

...