繁体   English   中英

防止在 C# 中回发 HtmlButton

[英]prevent postback of HtmlButton in C#

我正在.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(直接转到服务器端代码)中没有。 请帮忙。

返回 false 以防止回发:

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

更新
你也可以这样做:

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

然后在您的validateNclick function 中,如果您想要回发,返回true ,如果没有,返回false

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

在 javascript function 上返回 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;
}
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM