FormView без использования DataSourceID
От: gore-ne-beda  
Дата: 04.11.06 10:21
Оценка:
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.

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

но как их использовать? как получить данные?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.