DefaultButton in Content Page oder Web User Control definieren

Written on June 19, 2006

Mittels


kann man in ASP.NET 2.0 relativ einfach einen Default-Button (der Button, der durch Drücken der Return-Taste ausgelöst wird) für das aktuelle Formular definieren.

Allerdings funktioniert dies nur, wenn man nicht mit MasterPages arbeitet, d.h. den Default-Button nicht in einer Content-Seite (z.B. Default.aspx, welche auf die MasterPage verweist) definieren will.

Ähnlich gestaltet sich die Problematik bei Web User Controls. Entweder wird einfach der verkehrte Button ausgewählt, oder man erhält die Fehlermeldung:

The DefaultButton of 'form1' must be the ID of a control of type IButtonControl

Abhilfe kann man allerdings leicht mit ASP.NET 2.0 Bordmitteln schaffen, indem man ein ASP.NET Panel um den gewünschten Default-Button (+ den Controls, die den Button auslösen sollen, also z.B. TextBoxen etc.) setzt:



Wie man sieht, besitzt das ASP.NET Panel ebenfalls eine Eigenschaft DefaultButton über die man einen seitenweit geltenden Default-Button deklarieren kann.