2017-02-04 5 views
1

jquery UIアコーディオンを使用しています。アコーディオンの中には、テキストボックスとASPボタンがあります。ボタンをクリックすると、サーバーイベントは発生しません。しかし、OnClientClickは起動されます。aspボタンの内側jqueryアコーディオンがサーバーイベントを発生させない

アコーディオン内のaspボタンのいずれも起動しません。どうしてそうですか?

<asp:Content ID="UserContent" runat="server" ContentPlaceHolderID="ContentPlaceHolder1"> 
    <script type="text/javascript" src="../Scripts/jquery-3.1.1.min.js"></script> 
    <script type="text/javascript" src="../Scripts/jquery-ui-1.12.1.min.js"></script> 
    <script type="text/javascript"> 
     $(function() { 
      $("#accordion").accordion(); 
     }); 

     function BtnTrigger() { 
      alert("button pressed"); 
     } 
    </script> 
    <div id="accordion"> 
     <h3>Change Password</h3> 
     <div> 
      <div> 
       <div> 
        <b>Previous Password: :</b> 
        <asp:TextBox ID="txt_prev_pwd" TextMode="Password" runat="server" AutoCompleteType="Disabled" MaxLength="15" /> 
        <asp:RequiredFieldValidator ID="rqd_txtpwd" runat="server" ErrorMessage="Please enter the password" ControlToValidate="txt_prev_pwd" /> 
       </div> 
       <div> 
        <b>New Password :</b> 
        <asp:TextBox ID="txt_new_pwd" TextMode="Password" runat="server" AutoCompleteType="Disabled" MaxLength="15" /> 
        <asp:RequiredFieldValidator ID="rqd_txt_new_pwd" runat="server" ErrorMessage="Please enter the new password" ControlToValidate="txt_new_pwd" /> 
       </div> 
      </div> 
      <asp:Button ID="btn_pwd" runat="server" Text="Update" OnClick="btn_pwd_Click" /> 
     </div> 
     <h3>Change Department</h3> 
     <div> 
      <div> 
       <div> 
      <b>Department :</b> 
      <asp:ListBox ID="listBoxDepartment" runat="server" Rows="1" Width="300px"></asp:ListBox> 
     </div> 
      </div> 
      <asp:Button ID="btn_chng_depart" runat="server" Text="Update" OnClick="btn_chng_depart_Click" OnClientClick="BtnTrigger();" /> 
     </div> 
    </div> 
</asp:Content> 

// code behind 
protected void btn_chng_depart_Click(object sender, EventArgs e) 
     { 
      try 
      { 
       // code 
      } 
      catch (Exception ex) { } 
     } 

答えて

0

以下のいずれかの修正を行ってください。

  • OnClientClickハンドルが例外を作成する場合は、ボタン
  • CausesValidation="false"を追加し、ポストバックがキャンセルされます。 return true;も確認してください。
  • はあなたのpageディレクティブでAutoEventWireup="true"セットを念
  • はJavaScript alertを持っていますか削除ボタンが<asp:form runat="server">タグ
  • の内側にあることを確認してください?
    • は、ページの負荷にイベントを配線してください:btn_pwd.Click += new EventHandler(btn_pwd_Click);

が、これは

を役に立てば幸い
関連する問題