怎么在客户端阻止回发事件? 在控件里,我在呈现时抛出一个按钮做回发事件,我怎么做才可以做 到:先经过按钮的客户端判断后,符合条件的才让返回服务器端。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在客户端用javascript来实现:if (不可以回传){ return false;} 在客户端用javascript来实现:if checkClick_OK{ return true;}else{ alert("必须返回"); return false;}然后在代码中的page_load事件中写这样的代码:if (!this.ispostback){ button1.Attributes.Add("onclick","return checkClick_OK();")}呵呵! function _doPostBack(){};if(typeof("__doPostBack")=="function"){ _doPostBack=__doPostBack; __doPostBack=_doPostBackNew;}document.attachEvent("onmousemove",_onmousemove);var _isPosting=false;var _divMask=null;function _onmousemove(){ if(_divMask) with(_divMask.runtimeStyle) { left=event.clientX+document.body.scrollLeft-4; top=event.clientY+document.body.scrollTop-4; }}function _makeMask(){ var div=document.createElement("DIV"); with(div.runtimeStyle) { position="absolute"; zIndex=999999; fontSize="1px"; left=event.clientX+document.body.scrollLeft-4; top=event.clientY+document.body.scrollTop-4; width="8px"; height="8px"; cursor="wait"; backgroundColor="gray"; filter="alpha(opacity=10)"; } try { document.body.insertAdjacentElement("BeforeEnd",div); div.onblur=new Function("this.focus()"); div.focus(); } catch(x){} if(_divMask)_divMask.removeNode(true); _divMask=div;}function _doPostBackNew(sender,args){ if(_isPosting) return event.returnValue=!(event.cancelBubble=true); status="正在更新页面..."; _doPostBack(sender,args); _isPosting=true; _makeMask();}function _onformsubmit(){ if(_isPosting) return event.returnValue=!(event.cancelBubble=true); _isPosting=true; _makeMask();}new function _attachForms(){ with(new Enumerator(document.forms)) for(;!atEnd();moveNext()) { item().attachEvent("onsubmit",_onformsubmit); var div=document.createElement("div"); div.runtimeStyle.width="0px"; div.runtimeStyle.hight="0px"; div.runtimeStyle.overflow="hidden"; div.runtimeStyle.position="absolute"; item(0).insertAdjacentElement("afterbegin",div); div.innerHTML="<INPUT TYPE=Submit name='webformpatchsubmitelement' onclick='return event.returnValue=false' id='webformpatchsubmitelement' value='webformpatchsubmitelement'/>"; }}把这个作为 <-script src=.....js-><-/script-> 的形式Render到每个页面中就可以了。|如果有PageBase,则在Init的时候用RegisterClientScriptBlock放上去更好。因为客户没有抱怨过,所以也没有改进过。 对,在Init的时候,可以参考RegisterClientScriptBlock强行给客户端送脚本的方式,具体参见msdn就好了,类似你的效果。 直接给按钮加事件if(!this.ispostback){ this.button1.Attributes.Add("onclick","return(confirm(\"您确认要执行这个操作吗?\"));")}如此,点击弹出消息的“是”按钮,则执行后台程序,否则不执行 关于.net与asp base64加密解密问题 asp.net 定期执行服务器上的网站 js怎么操作FileUpload控件 关于JavaScript修改DropDownList的值的问题? 疑似IE7的一个BUG,大家帮忙看看 语法错误,帮我看看,错在哪?? visual studio 2005 为什么没有asp.net项目模板 请做过文件上传功能的朋友看看,急。。。? 请教! To 江雨 突然想到一个问题:能否让一个html控件同时拥有服务器和客户端单击事件? 大家帮忙呀关于DataSet的问题
if (不可以回传)
{
return false;
}
if checkClick_OK
{
return true;
}else{
alert("必须返回");
return false;
}然后在代码中的page_load事件中写这样的代码:if (!this.ispostback){
button1.Attributes.Add("onclick","return checkClick_OK();")
}呵呵!
if(typeof("__doPostBack")=="function")
{
_doPostBack=__doPostBack;
__doPostBack=_doPostBackNew;
}document.attachEvent("onmousemove",_onmousemove);
var _isPosting=false;
var _divMask=null;function _onmousemove()
{
if(_divMask)
with(_divMask.runtimeStyle)
{
left=event.clientX+document.body.scrollLeft-4;
top=event.clientY+document.body.scrollTop-4;
}
}
function _makeMask()
{
var div=document.createElement("DIV");
with(div.runtimeStyle)
{
position="absolute";
zIndex=999999;
fontSize="1px";
left=event.clientX+document.body.scrollLeft-4;
top=event.clientY+document.body.scrollTop-4;
width="8px";
height="8px";
cursor="wait";
backgroundColor="gray";
filter="alpha(opacity=10)";
}
try
{
document.body.insertAdjacentElement("BeforeEnd",div);
div.onblur=new Function("this.focus()");
div.focus();
}
catch(x){}
if(_divMask)_divMask.removeNode(true);
_divMask=div;
}function _doPostBackNew(sender,args)
{
if(_isPosting)
return event.returnValue=!(event.cancelBubble=true); status="正在更新页面...";
_doPostBack(sender,args);
_isPosting=true;
_makeMask();
}function _onformsubmit()
{
if(_isPosting)
return event.returnValue=!(event.cancelBubble=true); _isPosting=true;
_makeMask();
}
new function _attachForms()
{
with(new Enumerator(document.forms))
for(;!atEnd();moveNext())
{
item().attachEvent("onsubmit",_onformsubmit);
var div=document.createElement("div");
div.runtimeStyle.width="0px";
div.runtimeStyle.hight="0px";
div.runtimeStyle.overflow="hidden";
div.runtimeStyle.position="absolute";
item(0).insertAdjacentElement("afterbegin",div);
div.innerHTML="<INPUT TYPE=Submit name='webformpatchsubmitelement' onclick='return event.returnValue=false' id='webformpatchsubmitelement' value='webformpatchsubmitelement'/>";
}
}
把这个作为 <-script src=.....js-><-/script-> 的形式Render到每个页面中就可以了。|
如果有PageBase,则在Init的时候用RegisterClientScriptBlock放上去更好。
因为客户没有抱怨过,所以也没有改进过。
if(!this.ispostback)
{
this.button1.Attributes.Add("onclick","return(confirm(\"您确认要执行这个操作吗?\"));")
}如此,点击弹出消息的“是”按钮,则执行后台程序,否则不执行