简体   繁体   English

防止在 C# 中回发 HtmlButton

[英]prevent postback of HtmlButton in C#

I am creating HtmlButton dynamically in.cs file.我正在.cs 文件中动态创建 HtmlButton。 Adding it to Panel using使用将其添加到面板

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

Now how could i prevent postback of it?现在我怎么能防止它的回发? I had written javascript which is working in IE(No postback) but not in Mozilla Firefox (go to server-side code directly).我写了 javascript,它在 IE(无回发)中工作,但在 Mozilla Firefox(直接转到服务器端代码)中没有。 please help out.请帮忙。

return false to prevent postback:返回 false 以防止回发:

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

Update :更新
You can also do this:你也可以这样做:

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

Then in your validateNclick function, if you want to have postback, return true , if not, return false .然后在您的validateNclick function 中,如果您想要回发,返回true ,如果没有,返回false

if you use jQuery you can use preventDefault() to do this如果您使用 jQuery 您可以使用preventDefault()来执行此操作

on the javascript function return true or false and then add the return to your onclick as I show here.在 javascript function 上返回 true 或 false,然后将返回值添加到您的 onclick 中,如下所示。

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

and your attribute.和你的属性。

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