none
LoginForm na MasterPage

    Dotaz

  • 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">&nbsp;<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">&nbsp;<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">&nbsp;<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 |!"§%&amp;/()=\-?\*]*'>&nbsp;<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>
    

     


    31. března 2011 20:59

Odpovědi

  • 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
    6. května 2011 18:03
    Moderátor