2010-05-28 9 views
8

J'ai une boîte de dialogue jQueryUI avec certaines zones de texte, plus un bouton. À l'heure actuelle, la balise asp:Button utilisée pour générer le bouton définit automatiquement son type en tant que type="submit". La structure de la boîte de dialogue est telle que le fait d'appuyer sur Entrée dans l'une des zones de texte ne doit pas appeler l'événement de clic sur le bouton. Il semble que la façon la plus propre de résoudre le problème, si cela est faisable, est de régler manuellement le type du bouton sur autre chose que submit. Y a-t-il un moyen de faire cela?Comment définir manuellement le type d'entrée de bouton dans ASP.NET?

Editer: J'ai oublié de le mentionner, mais le texte du bouton est lié à un élément de la base de données par <%# Eval() %>, qui ne fonctionne pas sans balise côté serveur.

Répondre

11

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

La propriété UseSubmitBehavior dit ASP.NET pour rendre comme type="button" et insère un appel de fonction __doPostBack() dans la propriété onclick. Le texte de la OnClientClick La propriété est ajoutée à l'événement onclick côté client (avec un point-virgule de fin si vous ne l'incluez pas vous-même), donc mettre return court-circuite simplement le gestionnaire d'événements et finit par ne rien faire du tout

2

Vous pouvez utiliser un simple bouton HTML et le définir comme vous le souhaitez. Il ne doit pas être un bouton asp côté serveur.

Dans votre fichier ASPX:

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

la valeur du bouton dépend d'un E val()? – jbreed

+0

Est-ce que c'est dans une grille de données? –

0

Je ne pense pas que vous pouvez mettre à false, AutoPostBack de contrôle Button qui normalement faire ce que vous voulez.

Dans ce cas, je n'utiliserais simplement pas asp:Button et j'utiliserais simplement <input type='button'>.

Questions connexes