防止在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; } }