我将FormView
连接到SqlDataSource
以添加和更新记录,但现在我尝试使用实体数据模型和LINQ:
FormView.DataSource = Model.Table.Where(t => t.ID == IdFromQueryString);
页面工作到我加载记录的位置,我可以看到EditItemTemplate
,并且所有内容都填入了正确的值。但是当我尝试更新记录时,它会抛出一个未处理的ItemUpdating
事件,而SqlDataSource
从未发生过这种情况。
所以我添加一个ItemUpdating
处理程序,FormView
调用,我可以看到正在传入正确的参数。但是,FormView
永远不会更改数据库本身,并且永远不会调用ItemUpdated
。
这是否意味着我必须自己填写ItemInserting
,ItemUpdating
等,以便他们调用数据库(可能使用存储过程)?如果是,我该如何触发ItemInserted
和ItemUpdated
事件?或者,FormView
是否可以根据数据模型自动提供此功能?