LoginForm na MasterPage
-
2011年3月31日 下午 08:59
Dobrý den,
prosím Vás, mám ve webovém projektu MasterPage, kde mám umístěný Login.
Jenže, pokud mám na stránce nějaké textové pole a tlačítko, a když odpálím tlačítko asociovné k textovým polím, tak se odpálí validace Loginu na MasterPage, což je na houby... Můžete mi prosím poradit jak na Login na MasterPage?
Zkoušel jsem si hrát s UserControl, ale je to pořád stejný...
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="LoginUserControl.ascx.cs" Inherits="LoginUserControl" %> <asp:LoginView ID="viewLoginMaster" runat="server"> <AnonymousTemplate> <asp:Login ID="LoginMaster" runat="server" BorderStyle="None"> <LayoutTemplate> <h2>Přihlášení</h2> <table cellpadding="3" cellspacing="0" border="0" width="280"> <tr> <td align="right"><asp:Label ID="LabelUserName" runat="server" Text="Uživatel:" AssociatedControlID="UserName"></asp:Label></td> <td><asp:TextBox ID="UserName" runat="server"></asp:TextBox><asp:RequiredFieldValidator ID="UserNameRequire" runat="server" ErrorMessage="*" ControlToValidate="UserName" ForeColor="Black"> <asp:Image ID="ImageErrorUserNameRequire" runat="server" ImageUrl="~/App_Themes/MedicalBlue/design/error.png" CssClass="little-error" AlternateText="Prosím vyplňte uživatelské jméno." /></asp:RequiredFieldValidator><asp:RegularExpressionValidator ID="UserNameValidator" runat="server" ErrorMessage="Invalid username." ControlToValidate="UserName" ValidationExpression="[\w| ]*" ForeColor="Black"> <asp:Image ID="ImageErrorUserNameValidator" runat="server" ImageUrl="~/App_Themes/MedicalBlue/design/error.png" CssClass="little-error" AlternateText="Prosím vyplňte uživatelské jméno v platném tvaru." /></asp:RegularExpressionValidator></td> </tr> <tr><td align="right"><asp:Label ID="LabelPassword" runat="server" Text="Heslo:" AssociatedControlID="Password"></asp:Label></td> <td><asp:TextBox ID="Password" runat="server" TextMode="Password" EnableViewState="False"></asp:TextBox><asp:RequiredFieldValidator ID="PasswordRequire" runat="server" ErrorMessage="*" ControlToValidate="Password"> <asp:Image ID="ImageErrorPasswordRequire" runat="server" ImageUrl="~/App_Themes/MedicalBlue/design/error.png" CssClass="little-error" AlternateText="Prosím vyplňte heslo." /></asp:RequiredFieldValidator><asp:RegularExpressionValidator ID="PasswordValidator" runat="server" ErrorMessage="Invalid password." ControlToValidate="Password" ValidationExpression='[\w |!"§%&/()=\-?\*]*'> <asp:Image ID="ImageErrorPasswordValidator" runat="server" ImageUrl="~/App_Themes/MedicalBlue/design/error.png" CssClass="little-error" AlternateText="Prosím vyplňte heslo v platném tvaru." /></asp:RegularExpressionValidator></td> </tr> <tr> <td></td> <td><asp:Button ID="Login" runat="server" Text="Přihlásit" CommandName="Login" BorderColor="#CCCCCC" /></td> </tr> <tr> <td colspan="2"> <asp:Literal ID="FailureText" runat="server"></asp:Literal> </td> </tr> </table> <ul> <li><a href="ForgottenPassword.aspx">Zapomněli jste heslo?</a></li> <li><a href="#">Proč se registrovat?</a></li> <li><a href="CreateUser.aspx">Registrace</a></li> </ul> </LayoutTemplate> </asp:Login> </AnonymousTemplate> <LoggedInTemplate> <!-- Jméno a příjmení Nejbližší objednávky (5) Nastavení profilu Odhlásit se --> <h1><a href="#">Jméno Příjmení</a></h1> <ul> <li><a href="#">Žádná rezervace</a></li> <li><a href="registrovany/ChangePassword.aspx">Změna hesla</a></li> <li><a href="#">Nastavení profilu</a></li> <li><asp:LoginStatus ID="lsUser" runat="server" LogoutPageUrl="~/Default.aspx" LogoutText="Odhlásit se" LogoutAction="Redirect" /></li> </ul> </LoggedInTemplate> </asp:LoginView>
所有回覆
-
2011年5月6日 下午 06:03版主
Pokud máte vlastní definici LayoutTemplate Loginu včetně validátorů, musíte jim (a tlačítku) nastavit ValidationGroup, protože jinak jim zůstane nastavena prázdná a ta se pak aktivuje tlačítky, které mají taky (ne)nastavenou prázdnou.
Robert Haken, Microsoft MVP ASP/ASP.NET, HAVIT, s.r.o., www.havit.cz, http://knowledge-base.havit.cz- 已標示為解答 Robert HakenMVP, Moderator 2011年5月6日 下午 06:03

