UserNameRequiredErrorMessage未在asp.net中使用验证摘要显示

时间:2012-09-04 07:13:33

标签: asp.net

UserNameRequiredErrorMessage没有通过验证摘要。我已经登录控制。在登录控制的验证过程中,消息未到来。它只显示星号符号。我在包含母版页的页面中使用以下代码..

<asp:Login ID="Login1" 
  runat="server" 
  BackColor="#F7F7DE" 
  BorderColor="#CCCC99"
  ValidatorTextStyle-ForeColor="Red" 
  PasswordRequiredErrorMessage="You must enter a password."
  UserNameRequiredErrorMessage="You must enter a user name." 
  TextBoxStyle-Width="150"
  BorderStyle="Solid" BorderWidth="1px" 
  Font-Names="Verdana" Font-Size="10pt"
  TitleText="Members Login" 
  InstructionText="Please enter your user name and password for login."
  onauthenticate="Login1_Authenticate" 
  onloginerror="Login1_LoginError">

  <TitleTextStyle BackColor="#476042" Font-Bold="True" ForeColor="#FFFFFF"/>

</asp:Login>

<asp:ValidationSummary id="ValidationSummary1" 
  ShowMessageBox="true" 
  ShowSummary="true" 
  runat="server" 
  ValidationGroup="Login1">
</asp:ValidationSummary>

3 个答案:

答案 0 :(得分:0)

问题是您尚未将ErrorMessage属性添加到登录控件 请参阅以下代码我在Login控件中添加了Error Message属性

<asp:Login ID="Login1" 
   runat="server" 
   BackColor="#F7F7DE" 
   ErrorMessage="Write your Error Message here"
   BorderColor="#CCCC99"
   ValidatorTextStyle-ForeColor="Red" 
   PasswordRequiredErrorMessage="You must enter a password."
   UserNameRequiredErrorMessage="You must enter a user name." 
   TextBoxStyle-Width="150"
   BorderStyle="Solid" BorderWidth="1px" 
   Font-Names="Verdana" Font-Size="10pt"
   TitleText="Members Login" 
   InstructionText="Please enter your user name and password for login."
   onauthenticate="Login1_Authenticate" 
   onloginerror="Login1_LoginError">

   <TitleTextStyle BackColor="#476042" Font-Bold="True" ForeColor="#FFFFFF"/>

</asp:Login>

来自MSDN关于ValidationSummary:

  

摘要可以显示为列表,项目符号列表或单个段落,具体取决于DisplayMode属性的值。 ValidationSummary控件中显示的页面上每个验证控件的错误消息由每个验证控件的ErrorMessage属性指定。 如果未设置验证控件的ErrorMessage属性,则在该验证控件的ValidationSummary控件中不会显示错误消息

答案 1 :(得分:0)

当您使用带有摘要的验证器时,您必须执行步骤

在验证器上设置ErrorMessage="your message"(UserNameRequiredErrorMessage)

在验证器上设置Display="None"(UserNameRequiredErrorMessage)

在摘要(ValidationSummary1)上设置ShowSummary="true"

答案 2 :(得分:0)

如果您正在使用母版页&amp;您的登录控件位于内容页面中,请尝试使用此解决方法:

将此代码放在内容页面的Page_Load事件中:

if (Login1 != null)
{
  // Replace the returned underscores with dollar signs.
  ValidationSummary1.ValidationGroup = Login1.ClientID.Replace("_", "$");
}