ASP.NET 2.0
имеем такой класс (custom control)
декларативная часть:
<my:AutoFormView SelectCommand="Select * from table"
UpdateCommand="updtate table set value = @newValue">
<EditItemTemplate>
<asp:Text runat="server" text='<%# Bind("v %>' />
<asp:Button runat="Server" Command="Update" />
</EditItemTemplate>
</my:AutoFormView>
код:
class AutoFormView : FormView
{
......
// создается внутри класса и используетсЯ в кач-ве источника данных,
protected SqlDataSource _dataSource;
......
}
}
внутри формируем датасурс, и используем его для получения данных
т.е. опускаем в декларативной части атрибут DataSourceID
вобщем в части вывода формы проблем не возникает,
они появляются при обработке отправленных данных
возьмем обработчик события
ItemUpdating
в
FormViewUpdateEventArgs e аргументах имеем
две коллекции:
e.NewValues и e.OldValues — обе они пусты
а хотелось бы получить эти значения, проверить и подставить их в кач-ве параметров
команды Update для SqlDataSource
в MSDN по поводу использования источников данных не через аттрибут DataSourceID сказано:
When using this method, the FormView control does not provide built-in inserting, updating, deleting, and paging functionality. You need to provide this functionality by using the appropriate event.
типа, автоматом ничего не работает, делайте всё сами, используя соответствубщие события.
но как их использовать? как получить данные?
Лезешь ручками в FormView, находишь нужные контролы, выдираешь введенные данные и сохраняешь
Многие вещи нам непонятны не оттого, что наши понятия слабы, а оттого, что данные вещи не входят в круг наших понятий.
данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение