防止在C#中回传HtmlButton

时间:2011-06-11 06:26:38

标签: c# javascript asp.net

我在.cs文件中动态创建HtmlButton。 使用

将其添加到Panel
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中没有(直接转到服务器端代码)。 请帮忙。

4 个答案:

答案 0 :(得分:3)

返回false以防止回发:

b1.Attribute.Add("onclick","javascript:validateNclick(this.id);return false;");

<强>更新
你也可以这样做:

b1.Attribute.Add("onclick","javascript:return validateNclick(this.id);");  

然后在您的validateNclick函数中,如果您想要回发,请返回true,否则返回false

答案 1 :(得分:1)

如果您使用jQuery,则可以使用preventDefault()来执行此操作

答案 2 :(得分:0)

在javascript函数上返回true或false,然后将返回值添加到你的onclick中,如我在此处所示。

    function validateNclick(me)
    {
       if(allIsOk)
       {
         return true;
       }
       else
       {
         return false
        }
    }

和你的属性。

b1.Attribute.Add("onclick","javascript:return validateNclick(this);");

答案 3 :(得分:0)

b1.Attribute.Add("onclick","return validateNclick(this.id);");

function validateNclick(id){
//...
if(condition){
   return true
}
else{
  return false;
}
}