简体   繁体   中英

prevent postback of HtmlButton in C#

I am creating HtmlButton dynamically in.cs file. 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). please help out.

return false to prevent postback:

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 .

if you use jQuery you can use preventDefault() to do this

on the javascript function return true or false and then add the return to your onclick as I show here.

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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