2012-09-29 4 views
0

두 개의 버튼이있는 GridView가 있습니다. 단추 중 하나는 선택 단추이고 다른 단추는 명령이없는 단추입니다. OnClick 서브 루틴을 활성화해야합니다. 서브 루틴이 실행되지 않습니다.GridView에서 OnClick 프로 시저의 서브 루틴이 실행되지 않습니다.

Protected Sub GridViewParentsSummary_SelectedIndexChanged(sender As Object, e As EventArgs) Handles GridViewParentsSummary.SelectedIndexChanged 

    IntParentsID = GridViewParentsSummary.DataKeys(GridViewParentsSummary.SelectedIndex).Value 

    Response.Redirect("AuthorizationForChildReleaseDetails.aspx") 
End Sub 

Protected Sub NewPersonToReleaseChildren(sender As Object, e As EventArgs) 

    blnAddModeIsSelected = True 

    MsgBox("The button was clicked.") 

    Response.Redirect("AuthorizationForChildReleaseDetails.aspx") 
End Sub 

난 :

여기
 <asp:GridView 
      ID="GridViewParentsSummary" 
      runat="server" 
      AllowPaging="True" 
      AllowSorting="True" 
      AutoGenerateColumns="False" 
      DataKeyNames="ID" 
      > 

      <Columns> 
       <asp:BoundField 
        DataField="ID" 
        HeaderText="ID" 
        SortExpression="ID" InsertVisible="False" ReadOnly="True" Visible="False" /> 

       <asp:BoundField 
        DataField="FatherName" 
        HeaderText="FatherName" 
        SortExpression="FatherName" /> 

       <asp:BoundField DataField="MotherName" HeaderText="MotherName" 
        SortExpression="MotherName" /> 

       <asp:ButtonField 
        ButtonType="Button" 
        CommandName="Select" 
        Text="Select Details" /> 

       <asp:TemplateField ShowHeader="False"> 

        <ItemTemplate> 
         <asp:Button 
          ID="ButtonNewPersonToReleaseChildren" 
          runat="server" 
          CausesValidation="false" 
          Text="New Person To Release Children" 
          CommandArgument='<%# Eval("ID") %>' 
          OnClick="NewPersonToReleaseChildren" /> 
        </ItemTemplate> 

       </asp:TemplateField> 
      </Columns> 
     </asp:GridView> 

가 VB.Net 코드 숨김 버튼의 서브 루틴 코딩입니다 : 여기

은 버튼으로의 GridView의 마크 업입니다 확실히 코딩이 누락되었지만 Select 버튼의 서브 루틴이 작동하지만 NewPersonToReleaseChildren의 서브 루틴이 아니기 때문에 그 내용이 무엇인지 모릅니다. 코드에있는 gridview에서

<asp:TemplateField HeaderStyle-HorizontalAlign="Center" ItemStyle-HorizontalAlign="Center" 
         FooterStyle-HorizontalAlign="Center"> 
         <ItemTemplate> 
          <asp:ImageButton ID="ImgBtnDel" runat="server" ImageUrl="~/Images/icon-delete.gif" CommandName="del" 
           CommandArgument='<%# Eval("ID") %>' /> 
         </ItemTemplate> 
        </asp:TemplateField> 

사용 aspButton 또는하여 ImageButton, 뒤 :있는 gridview에서

+1

어떻게 호출되지 않았습니까? 'MsgBox ("...")'무엇을하고 있습니까? – codingbiz

+0

답장을 보내 주셔서 감사합니다. 단추를 클릭하면 메시지 상자가 표시되지 않습니다. –

답변

1

Protected Sub gridview1_RowCommand(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewCommandEventArgs) Handles gridview1.RowCommand 
    Dim myId As String = e.CommandArgument.ToString 
    If e.CommandName = "del" Then 

    ElseIf e.CommandName = "upd" Then 

    End If 
End Sub 
+0

도움을 주신 모든 분들께 감사드립니다. 우리는 e.CommandArgument를 사용하려했지만 오류 메시지가 계속 나타납니다. 우리는 OnRowCommand = "myGV_RowCommand"와 같은 GridView의 OnRowCommand에 서브 루틴 이름을 입력해야한다는 것을 알았고 OnRowCommand = "myGV_RowCommand"라는 서브 라우트를 만들어이 시그니처로 처리했습니다. Protected Sub myGV_RowCommand (sender As Object , e As GridViewCommandEventArgs) 그래서 아무것도 실행되지 않았습니다. –

0

이 핸들러에 Handles Handles NewPersonToReleaseChildren.Click 추가

Protected Sub NewPersonToReleaseChildren(sender As Object, e As EventArgs) Handles NewPersonToReleaseChildren.Click 

    blnAddModeIsSelected = True 

    //MsgBox("The button was clicked.") 

    Response.Redirect("AuthorizationForChildReleaseDetails.aspx") 
End Sub 

내가 거기 생각하지 않는다 asp.net에서 MsgBox과 (와) 비슷한 것입니다. Handles이 작동하지 않으면 해당 줄을 Throw New Exception("My Button was called")으로 바꾸거나 해당 줄에 중단 점을 넣고 F5를 누릅니다.

관련 문제