jquery手风琴内的asp按钮不引发服务器事件
Posted
技术标签:
【中文标题】jquery手风琴内的asp按钮不引发服务器事件【英文标题】:asp button inside jquery accordion not raising server event 【发布时间】:2017-06-21 12:12:11 【问题描述】:我正在使用 jquery UI 手风琴。在手风琴内部,有一些文本框和 asp 按钮。当我单击按钮时,服务器事件没有触发。但是 OnClientClick 被解雇了。
手风琴内部的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)
【问题讨论】:
【参考方案1】:尝试以下任何修复方法。
将CausesValidation="false"
添加到按钮
如果OnClientClick
句柄创建异常,则取消回发。确保你也return true;
。
确保按钮位于<asp:form runat="server">
标记内
删除javascript alert
以防万一
您的页面指令中是否设置了AutoEventWireup="true"
?
尝试在页面加载时连接事件:btn_pwd.Click += new EventHandler(btn_pwd_Click);
希望对你有帮助
【讨论】:
以上是关于jquery手风琴内的asp按钮不引发服务器事件的主要内容,如果未能解决你的问题,请参考以下文章
jQuery UI手风琴内的nicedit textarea宽度无法正常工作