我正在使用 jquery UI Accordion 。在 Accordion 内部,有一些文本框和 asp 按钮。当我单击按钮时,服务器事件没有触发。但是 OnClientClick 被触发。
Accordion 内的 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) { }
}
最佳答案
尝试以下任意修复。
- 添加
CausesValidation="false"
到按钮 - 如果
OnClientClick
句柄创建异常,回发被取消。确保你return true;
也是如此。 - 确保按钮位于
<asp:form runat="server">
内标签 - 删除 JavaScript
alert
以防万一 - 你有
AutoEventWireup="true"
在你的页面指令中设置?- 尝试在页面加载时连接事件:
btn_pwd.Click += new EventHandler(btn_pwd_Click);
- 尝试在页面加载时连接事件:
希望这有帮助
关于javascript - jquery Accordion 内的 asp 按钮不引发服务器事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42035828/