如果在某个地方得到回答,我很抱歉,但我无法找到我特定问题的答案。
我有一个asp对象:
var listingNum = prompt("Listing numbers").split(" ");
logIn = function(){
if(document.readyState === "complete"){
document.getElementById('SignInAsMemberLinkHeader').click();
}
};
for(i = 0; i < listingNum.length; i++){
window.open("http://www.website.com" + listingNum[i],"_self");
setInterval(logIn(), 4000);
};
基本上我想显示一个消息框询问是否可以删除,如果没有选择取消或取消,不执行回发(或不运行任何服务器端代码),如果是,则运行该功能“OnCheckedChanged_CommonWord”。
我试着弹出一个javascript Confirm()调用,但是如果按是,则C#服务器端代码不运行(“OnCheckedChanged_CommonWord”)“no”或“cancel”完全正常,因为它没有回发。
P.S。由于我的服务器限制,请不要使用AJAX。
答案 0 :(得分:0)
Checkbox控件实际上缺少任何类型的OnClientCheckChanged
事件,可用于根据客户端管理PostBack
是否应该发生(如OnClientClick
等)会外活动。
但是您应该能够使用onclick
属性来完成此操作,该属性具有通过手动调用来管理默认PostBack
的功能:
<asp:CheckBox ID="chkRemove" runat="server"
Checked='<%#Convert.ToBoolean(Eval("CommonWord")) %>'
OnCheckedChanged="OnCheckedChanged_CommonWord"
AutoPostBack="true"
onclick='return OnClientCheckChanged("Are you sure you want to do this?",this);' />
<script>
function OnClientCheckChanged(prompt,source) {
if (confirm(prompt)){
__doPostBack("'" + source.id + "'", '');
return true;
}
else {
return false;
}
}
</script>
当实际点击CheckBox时,它会触发confirm()
提示,并根据结果触发显式PostBack
(通过令人讨厌的__doPostBack()
来电或赢得什么都不做。
我不是__doPostBack()
电话的忠实粉丝,但这似乎是一个合适的解决方案。