8

I have a jQueryUI dialog with some textboxes, plus a button. Right now, the asp:Button tag used to generate the button automatically sets its type as type="submit". The structure of the dialog is such that pressing enter at any of the textboxes should not call the button click event. It seems like the cleanest way to solve the problem, if it is doable, is to manually set the button's type to something other than submit. Is there a way to do this?

Edit: Forgot to mention this, but the button text is bound to a database item by <%# Eval() %>, which doesn't work without a server-side tag.

3 Answers 3

13

" UseSubmitBehavior="false" OnClientClick="return" />

The UseSubmitBehavior property tells ASP.NET to render as type="button" and inserts a __doPostBack() function call into the onclick property. The text of the OnClientClick property gets prepended to the client-side onclick event (with a trailing semicolon if you don't include it yourself), therefore putting return simply short-circuits the event handler and ends up doing nothing at all.

Sign up to request clarification or add additional context in comments.

Comments

2

You can use just a regular html button and set it to whatever you want. It doesn't have to be a serverside asp button.

In your aspx file:

<input type="button" value="My Button" onclick="DoSomeScript();" />

1 Comment

What about when the button's value depends on an Eval()?
0

I don't think you can set the Button control's AutoPostBack to false, which would normally do what you want.

In this case, I would simply not use asp:Button and just use <input type='button'>.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.