Button With No PostBack

J

Jeremy

I have an ASPX page with a bunch of System.Web.UI.WebControls.Button
controls on it. By default, clicking on any of these causes a Postback. I'd
like to have it so that for a couple of these buttons, no PostBack occurs -
and rather some client-side script is executed (with no postback
subsequently occuring). I have wired up the client-side script to the
Buttons in question using Attributes.Add(blah blah blah) - now I just need
to somehow prevent the Postback from occuring. I looked to set
AutoPostBack="false" - but that isn't apparently an option. How can I have
Buttons that do not trigger a postback?

Thanks.
 
D

DalePres

Like Trevor said, use an HTML button. Inspite of the web-control-centric
view in Visual Studio.net, developers should carefully consider whether a
standard HTML control would work as well as a server control and default to
the HTML control...

But with that said, the answer to your question about the button control is
to assign a value to the CommandName property. With no CommandName value,
the button acts like a submit button. With a CommandName value, it will act
more like a standard button.

Dale
 
M

M. Zeeshan Mustafa

Jeremy,

As far as I understand, your problem is that when you click on a
Button1 (which is WebControls.Button), it calls javascript function
doSomething() and then posts the form? and you dont want it to
post the form just run javascript?

If that is the case, then here is the solution.

we know that if we do this: Button1.Attributes.Add("OnClick", "return
false;")
Button1 will become non-functional, and it will not do anything when
user clicks it.

now suppose you have this javascript code in your web form:
<script language=javascript>
function doCalculate()
{
alert('I am called');
return false;
}
</script>

now if you do this: Button1.Attributes.Add("OnClick", "return
doCalculate();")

doCalculate will execute and return 'false'.. so your web form will not be
posted back. There maybe some cases when you want to return true
(you want to post the form after some work)

Your question is already answered tho, but there
maybe soem cases where you want to use WebControls.Button
(to access it easily from codebehind) .but if the button have nothing
to do with server, then why not use HtmlButton control as my
fellow Trevor suggested?
 
J

Jeffrey Palermo [MCP]

M,
Personally, I don't use the asp:Button. I tend to always use <input
type="button"/> and then if I need to modify it on the server, I add
runat="server". If all I need is javascript, then I don't even make it a
server control. And for submit post-back processing, I just set the
ServerClick event, and it posts back. That way I don't run into problems
with multiple buttons on my form and having a inadvertant click of the enter
button trigger a post-back.

Best regards,
Jeffrey Palermo
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top