哎哟!
我正在使用绑定到 ObjectDataSource 的 ASP.NET GridView 控件:
<asp:ObjectDataSource ID="Things" runat="server"
TypeName="BLL.Thing"
UpdateMethod="UpdateThing"
OnUpdating="Things_Updating"
OnUpdated="Things_Updated">
<UpdateParameters>
<asp:SessionParameter
Name="userContext"
SessionField="UserContext"
Type="Object" />
<asp:Parameter Name="thing" Type="Object" />
</UpdateParameters>
</asp:ObjectDataSource>
单击带有 CommandName="Update" 的 ImageButton 控件会导致发生指定的 OnUpdating 事件,但不会发生指定的 UpdateMethod 或 OnUpdated 事件。
<EditItemTemplate>
<asp:ImageButton ID="ImageButton_Save" runat="server"
CommandName="Update"
SkinID="Save"
CausesValidation="false"
CommandArgument='<%# Eval("Id") %>' />
<asp:ImageButton ID="ImageButton_Cancel" runat="server"
CommandName="Cancel"
SkinID="Cancel"
CausesValidation="false" />
</EditItemTemplate>
输入参数在 OnUpdating 事件中定义,如下所示:
protected void Things_Updating(object sender, ObjectDataSourceMethodEventArgs e)
{
e.InputParameters["thing"] = _theThing;
}
不会抛出异常。该页面刚刚回发,仍然显示 EditItemTemplate 控件。我可以在所有地方设置断点,但线索会在 Things_Updating 结束时停止。似乎发生了一些异常,调试器没有处理或捕获。有没有办法打开引擎盖,看看 ASP.NET 正在做什么(或没有做什么)?
提前致谢!