Question

I ont une page principale avec un élément de forme et l'ensemble d'attributs de defaultButton à un ImageButton côté serveur. Sur un de mes pages que je veux « override » l'attribut masterpage DefaultButton en définissant les formes DefaultButton en cas Page_Load.

i.e. À la page de mater:

<form id="form1" runat="server" defaultbutton="btnSearch">....</from>

Sur l'événement Page_Load page que "override" l'attribut page maître:

this.Form.DefaultButton = this.ibRecalc.ID;

erreurs avec:

  

Le DefaultButton de 'form1' doit être l'ID d'un contrôle de type IButtonControl

J'utilise des boutons d'image qui implémente IButtonControl

Toutes les idées de ce que je pourrais faire mal ou d'une autre façon d'aborder le problème?

Merci

Était-ce utile?

La solution

Utilisez UniqueId. Étant donné que vous pouvez avoir plusieurs contrôles serveur avec le même identifiant de serveur, par exemple, dans un GridView, les besoins cadres à l'identifiant unique pour correspondre à.

this.Form.DefaultButton = this.ibRecalc.UniqueID;

Autres conseils

Vous pouvez essayer d'utiliser la propriété « DefaultButton » d'un groupe spécial ...

Placez votre bouton ou page entière ou div dans asp: Panel

// panneau de démarrage

asp: Panel ID = "pnlOpsCallSummay" runat = "server" DefaultButton = "btnSearch"

............

// Contrôle de vos besoins

..........

asp: Bouton ID = "btnSearch" runat = "server" Text = "Recherche"

close le pannel

Pas besoin de passer outre le bouton page maître

Si vous déplacez le panneau à l'intérieur du modèle de la connexion: -

<asp:login id="Login2" runat="server" loginbuttontype="Image">
<layouttemplate>
   <asp:`enter code here`panel id="Panel1"   runat="\
     server"defaultbutton="LoginImageButton">
   </asp:Panel>
 </LayoutTemplate>
</asp:Login>

Ensuite, il fonctionne sans code.    Vous pouvez définir loginbuttontype = « Image » ou lien ou bouton selon vos besoins.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top