2015-12-14 2 views
1

J'ai actuellement 2 panneaux sur une page asp.net. J'ai un panneau de connexion et de registre, et j'ai défini la propriété DefaultButton="btn1 pour chacun des panneaux. Si vous remplissez l'un ou l'autre formulaire (et concentré dans ce formulaire), il tire toujours le bouton de registre, qui est le premier bouton/panneau sur la page. Voici mon code ci-dessous:Le bouton par défaut du panneau asp.net ne fonctionne pas

<asp:Panel runat="server" ID="pnlRegister" DefaultButton="btn1"> 
    <asp:TextBox runat="server" TextMode="Email" ID="txtEmail" placeholder="Email" ValidateRequestMode="Enabled" /> 
    <asp:TextBox runat="server" TextMode="Password" ID="txtPass" placeholder="Password" /> <br /><br /> 
    <asp:Button runat="server" ID="btn1" OnClick="Register" Text="Register" /> 
</asp:Panel> 

<asp:Panel runat="server" ID="pnlLogin" DefaultButton="btn2"> 
    <asp:TextBox runat="server" ID="txtEmailLog" placeholder="Email Address" /> <br /> 
    <asp:TextBox runat="server" TextMode="Password" ID="txtPassLog" placeholder="Password" /> <br /> <br /> 
    <asp:Button runat="server" ID="btn2" OnClick="Login" Text="Login" /> 
</asp:Panel> 

EDIT POUR DETAIL:

Il n'y a pas d'erreur, il est tout simplement ne fonctionne pas comme il est censé. L'attribut DefaultButton est censé soumettre le bouton par défaut lorsque 'entrée' est saisi alors qu'il est centré sur un champ à l'intérieur du panneau. Par exemple, lorsque vous essayez d'utiliser les boîtes de connexion sur le panneau pnlLogin et appuyez sur Entrée, le bouton btn1 est soumis (ce qui est la fonction Register) au lieu du btn2 (ce qui est la fonction de connexion). J'espère que cela aidera à dissiper la confusion au lieu d'y ajouter.

+0

Quelle est l'erreur ici? et que recherchez-vous? c'est vague_. Vous devez également afficher le code derrière la référence – BNN

+0

L'erreur est indiquée ci-dessus en ce que l'attribut 'DefaultButton' ne fonctionne pas sur le second panneau, en particulier. Le code derrière ne devrait avoir aucune incidence sur cet attribut qui fonctionne ou non. – sqlt

+0

Quelle est l'erreur? pouvez-vous nous le code complet – BNN

Répondre

0

Changez vos boutons à:

<asp:Button runat="server" UseSubmitBehavior="true" ID="btn1" OnClick="Register" Text="Register" /> 
<asp:Button runat="server" UseSubmitBehavior="true" ID="btn2" OnClick="Login" Text="Login" /> 

UseSubmitBehavior fait votre bouton REACT action de soumission (en cliquant sur Entrée) correspondant à votre code, maintenant votre code réagit par le style par défaut du navigateur.

Espérons que ça aide.

+0

Merci pour votre commentaire, mais cela ne semble pas fonctionner pour moi. J'ai ajouté 'UseSubmitBehavior =" true "' sur les deux boutons, mais il ne fait que soumettre le premier panneau. – sqlt

+0

@Aaron pouvez-vous ouvrir le chat ici? Pour approfondir votre question et essayer de vous aider. Ou contactez-moi simplement par e-mail [email protected] Je vais essayer de vous aider et, si nous le faisons, nous afficherons une réponse afin de montrer à tout le monde comment faire, si quelqu'un a le même problème. – Khazratbek

+0

Merci, je ne suis pas disponible pour discuter. Je t'enverrai plus tard ce soir ou demain matin – sqlt

0

Ce ne fut pas une solution, et je suis toujours à la recherche d'un, mais de contourner le problème que je fini par cacher l'un des panneaux et la commutation entre les formes en fonction de la fonction que l'utilisateur souhaite compléter. Si je trouve une meilleure solution, je reviendrai ici.