Ahoy! 지정된 UpdateMethod 또는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 컨트롤의 클릭이 = "업데이트"발생하도록 지정된 OnUpdating 이벤트가 발생하지만,하지 :
가 나는 ObjectDataSource를 결합하는 ASP.NET의 GridView 컨트롤을 사용하고 있습니다 OnUpdated 이벤트. 예외가 발생되지
protected void Things_Updating(object sender, ObjectDataSourceMethodEventArgs e)
{
e.InputParameters["thing"] = _theThing;
}
:
<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 이벤트에 정의 된 입력
. 이 페이지는 단지 EditItemTemplate 컨트롤과 함께 계속 게시됩니다. 나는 장소 전체에 중단 점을 둘 수 있지만, 흔적은 Things_Updating의 끝에서 멈 춥니 다. 디버거에 의해 처리되거나 잡히지 않는 예외가 발생하는 것 같습니다. 후드를 열고 ASP.NET이 수행하는 작업 (또는 수행 실패)을 확인하는 방법이 있습니까?미리 감사드립니다.
아니요, 흔적이 Things_Updating 후에 신비하게 끝납니다. -/ – Adam
@Adam : 답변이 업데이트되었습니다. – pseudocoder
GridView 클래스에 OnUpdating 이벤트가 있다고 생각하지 않지만 대신 사용할 RowCommand 이벤트가 있습니다. 감사! – Adam