0

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>
4

3 回答 3

0

问题是您没有将ErrorMessage属性添加到登录控件请参阅下面的代码我在登录控件中添加了错误消息属性

<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 控件中显示错误消息。

于 2012-09-04T07:18:11.090 回答
0

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

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

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

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

于 2012-09-04T07:32:46.210 回答
0

如果您正在使用母版页并且您的登录控件位于内容页中,请尝试使用以下解决方法:

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

if (Login1 != null)
{
  // Replace the returned underscores with dollar signs.
  ValidationSummary1.ValidationGroup = Login1.ClientID.Replace("_", "$");
}
于 2012-09-04T07:56:52.570 回答