【发布时间】:2014-09-23 16:28:26
【问题描述】:
我有一个复选框,希望在单击时显示确认消息
我在代码隐藏文件中添加了事件绑定,如下所示。
chkSMTLock.Attributes.Add("onclick", "return ConfirmSMTLock();");
以下是我的 chkSMTLock
的 HTML 代码<asp:CheckBox ID="chkSMTLock" runat="server" AutoPostBack="true" OnCheckedChanged="chkSMTLock_CheckedChanged" Text="SMT Lock" />
这是我的 javascript:
function ConfirmSMTLock() {
var r = confirm('Are you sure that you want to SMT lock/unlock this account?');
console.log(r);
return r;
}
当我运行它时,我可以在浏览器控制台日志中看到确认值(真/假),但是,它没有调用任何服务器端代码。
我的服务器端代码非常简单,带有日志记录...
protected void chkSMTLock_CheckedChanged(object sender, EventArgs e)
{
Utils.Debug("chkSMTLock_CheckedChanged");
}
当我删除复选框的 javascript 事件绑定时,它会成功执行 ServerSide 事件。但是当我把它放回去时,它就停止工作了。
如何使用确认消息框进行控制?
【问题讨论】:
-
你考虑过使用
RegisterClientScriptBlock -
您是否尝试过使用
onchange属性而不是onclick? -
如果我将其更改为“onchange”,它会执行代码,即使“确认”的返回值为 false。
标签: c# javascript asp.net