Эй!
Я использую элемент управления ASP.NET GridView, привязанный к ObjectDataSource:
<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>
Щелчок по элементу управления ImageButton с CommandName = "Update" вызывает указанное событие 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?
Заранее спасибо!