Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

asp:login

2 réponses
Avatar
Bruno POUPON
Bonjour

j'utilise un <asp:login> et je voudrais que la touche 'Entrée', soit
affectée au clik sur le bouton 'LoginButton' j'ai essayé de mettre le
contrôle dans un <asp:Panel> avec

DefaultButton="LoginButton", j'ai aussi essayé
DefaultButton="ctl00_ContentPlaceHolder1_Login1_LoginButton".

je voudrais conserver le composant d'origine car j'utilise les
fonctionnalitées de globalisation intégrées au framwork, j'ai installé les
packs de langue.

j'ai comme message "Le DefaultButton de 'Panel1' doit être l'ID d'un
contrôle de type IButtonControl".

Merci pour vos suggestions.

Bruno

2 réponses

Avatar
Antoine Griffard
Bonjour,

Voici un moyen pour affecter le defaultButton et je donne en plus une soution
pour mettre le focus sur la textBox.

1) passer la page en mode Design.
2) Sélectionner le contrôle Login puis sélectionner la fenêtre de propriété.
3) Cliquer sur le lien 'Convertir en modèle' en bas de la fenêtre de propriété.
Cela transformera le contrôle en générant le LayoutTemplate corrspondant
au rendu par défaut. Vous pouvez en profiter pour transformer le rendu comme
ça vous plaît
4) Entourer le code du LayoutTemplate par un panel en précisant DefaultButton="LoginButton"
:
<LayoutTemplate>
<asp:Panel ID="pnlLogin" runat="server" DefaultButton="LoginButton">
...
</asp:Panel>
</LayoutTemplate>

5) Pour initialiser le focus de la textbox au chargement de la page :
VB
Protected Sub Login_Load(ByVal sender As Object, ByVal e As System.EventArgs)
Handles Login.Load
Me.Page.SetFocus(CType(sender, Control).FindControl("UserName"))
End Sub
ou
C# (ajouter OnLoad="Login_Load" ou le gestionnaire d'évènement approprié)
protected void Login_Load(object sender, EventArgs e)
{
this.Page.SetFocus(Login.FindControl("UserName"));
}


Tonio,
Member of WygTeam

Bonjour

j'utilise un <asp:login> et je voudrais que la touche 'Entrée', soit
affectée au clik sur le bouton 'LoginButton' j'ai essayé de mettre le
contrôle dans un <asp:Panel> avec

DefaultButton="LoginButton", j'ai aussi essayé
DefaultButton="ctl00_ContentPlaceHolder1_Login1_LoginButton".

je voudrais conserver le composant d'origine car j'utilise les
fonctionnalitées de globalisation intégrées au framwork, j'ai installé
les packs de langue.

j'ai comme message "Le DefaultButton de 'Panel1' doit être l'ID d'un
contrôle de type IButtonControl".

Merci pour vos suggestions.

Bruno



Avatar
Bruno POUPON
Bonjour et merci pour la réponse

mon soucis dans ton exemple est que je dois gérer via les fichiers de
ressources tous les messages dans les langues que j'utilise, chose qui est
gérer automatiquement si on utilise le composant login sans le transformer
en modèle.

Si je ne trouve pas d'autre solution c'est le modèle que j'utilisrai mais
cela est dommage car j'aurais le même soucis avec les autres composants.

Bruno

"Antoine Griffard" a écrit dans le message de news:

Bonjour,

Voici un moyen pour affecter le defaultButton et je donne en plus une
soution pour mettre le focus sur la textBox.

1) passer la page en mode Design.
2) Sélectionner le contrôle Login puis sélectionner la fenêtre de
propriété.
3) Cliquer sur le lien 'Convertir en modèle' en bas de la fenêtre de
propriété. Cela transformera le contrôle en générant le LayoutTemplate
corrspondant au rendu par défaut. Vous pouvez en profiter pour transformer
le rendu comme ça vous plaît
4) Entourer le code du LayoutTemplate par un panel en précisant
DefaultButton="LoginButton" :
<LayoutTemplate>
<asp:Panel ID="pnlLogin" runat="server" DefaultButton="LoginButton">
...
</asp:Panel>
</LayoutTemplate>

5) Pour initialiser le focus de la textbox au chargement de la page :
VB
Protected Sub Login_Load(ByVal sender As Object, ByVal e As
System.EventArgs) Handles Login.Load
Me.Page.SetFocus(CType(sender, Control).FindControl("UserName"))
End Sub
ou
C# (ajouter OnLoad="Login_Load" ou le gestionnaire d'évènement approprié)
protected void Login_Load(object sender, EventArgs e)
{
this.Page.SetFocus(Login.FindControl("UserName"));
}


Tonio,
Member of WygTeam

Bonjour

j'utilise un <asp:login> et je voudrais que la touche 'Entrée', soit
affectée au clik sur le bouton 'LoginButton' j'ai essayé de mettre le
contrôle dans un <asp:Panel> avec

DefaultButton="LoginButton", j'ai aussi essayé
DefaultButton="ctl00_ContentPlaceHolder1_Login1_LoginButton".

je voudrais conserver le composant d'origine car j'utilise les
fonctionnalitées de globalisation intégrées au framwork, j'ai installé
les packs de langue.

j'ai comme message "Le DefaultButton de 'Panel1' doit être l'ID d'un
contrôle de type IButtonControl".

Merci pour vos suggestions.

Bruno