防止在C#中回传HtmlButton
我在.cs文件中动态创建HtmlButton。 使用将其添加到Panel
HtmlButton b1 = new HtmlButton(); b1.Attribute.Add("onclick","javascript:validateNclick(this.id);"); pnl.Controls.Add(b1); //pnl is Server-side
现在我怎么能防止回发呢? 我编写了javascript,它在IE中工作(没有回发)但在Mozilla Firefox中没有(直接转到服务器端代码)。 请帮忙。
返回false以防止回发:
b1.Attribute.Add("onclick","javascript:validateNclick(this.id);return false;");
更新 :
你也可以这样做:
b1.Attribute.Add("onclick","javascript:return validateNclick(this.id);");
然后在您的validateNclick
函数中,如果您想要回发,则返回true
,否则返回false
。
如果你使用jQuery,你可以使用preventDefault()
来做到这一点
在javascript函数上返回true或false,然后将返回添加到onclick,如此处所示。
function validateNclick(me) { if(allIsOk) { return true; } else { return false } }
和你的属性。
b1.Attribute.Add("onclick","javascript:return validateNclick(this);");
b1.Attribute.Add("onclick","return validateNclick(this.id);"); function validateNclick(id){ //... if(condition){ return true } else{ return false; } }