2011-08-27 16 views
6

Moje logowanie usercontrol ma dwa pola tekstowe i przycisk link.Jak utworzyć formularz z linkiem LinkButton?

<asp:TextBox id="tbUserName" runat="server" size="10" /> 
<asp:TextBox id="tbPassword" runat="server" TextMode="Password" size="10" /> 

<asp:LinkButton Text="login" CssClass="submit" runat="server" ID="lbLogin" OnClick="btnLogin_OnClick" /> 

Chciałbym wywołać funkcję „btnLogin_OnClick kiedy ktoś pcha wejść na tbUsername lub tbPassword.

jaki sposób mogę to zrobić?

Odpowiedz

13

Oto sprytna sztuczka:

<asp:Panel ID="pnlLogon" runat="server" DefaultButton="lbLogin" Width="100%" > 
     <asp:TextBox id="tbUserName" runat="server" size="10" /> 
     <asp:TextBox id="tbPassword" runat="server" TextMode="Password" size="10" /> 
     <asp:LinkButton Text="login" CssClass="submit" runat="server" ID="lbLogin" OnClick="btnLogin_OnClick" /> 
</asp:Panel> 

Po zawinięciu pól tekstowych na panelu i ustawieniu DefaultButton panelu na LinkButton, każde Enter w polu tekstowym wewnątrz panelu spowoduje, że kliknięcie stanie się możliwe.

+0

Dzięki! Działa to w IE i Firefox, ale nie w chrome. Jakieś pomysły? – Nate

+0

Może z tego powodu? http://kpumuk.info/asp-net/using-panel-defaultbutton-property-with-linkbutton-control-in-asp-net/ – Mrchief

+0

Świetnie, musiałem postępować zgodnie z instrukcjami w powyższym linku, aby działał w safari. Dziękuję Ci. – Nate

0

// Code-za

protected void btnLogin_OnClick(object sender, EventArgs e) 
{ 
    if (Page.IsValid) 
    { 
     // process your form 
    } 
} 
+0

Ta funkcja nie jest wywoływana, gdy ktoś wpisze na tbUserName lub tbPassword. Otrzymuje się tylko kliknięcie. – Nate

+0

Przepraszam Nate, źle odczytałem pytanie. Albo metoda Mrchiefa powinna zadziałać. – IrishChieftain