防止在C#中回发HtmlButton

本文关键字:HtmlButton | 更新日期: 2023-09-27 17:59:06

我正在.cs文件中动态创建HtmlButton。使用将其添加到面板

HtmlButton b1 = new HtmlButton();
b1.Attribute.Add("onclick","javascript:validateNclick(this.id);");
pnl.Controls.Add(b1); //pnl is Server-side <Asp:Panel>

现在我该如何防止它的回发我写过javascript,它在IE中工作(无回发),但在Mozilla Firefox中不工作(直接转到服务器端代码)请帮忙。

防止在C#中回发HtmlButton

返回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;
}
}