我正在尝试制作自定义的asp.net登录控件。验证控件不起作用。例如,我在用户名框上有一个requiredfieldvalidator,但是当您不输入用户名时,它仅显示默认的失败文本-“您的登录尝试失败。请重试。”并且没有星号表示用户名字段是有问题的字段。
<asp:Login ID="MyLogin"
runat="server"
MembershipProvider="MySqlProvider">
<LayoutTemplate>
<div class="loginbox_row">
<div class="loginbox_column loginbox_left">
<asp:label
id="UserNameLabel"
runat="server"
associatedcontrolid="UserName"
CssClass="labeltext_style login_label_positioning" >
User Name:
</asp:label>
</div>
<div class="loginbox_column loginbox_right">
<asp:textbox runat="server" id="UserName"
CssClass="textbox_style login_textbox_positioning">
</asp:textbox>
<asp:requiredfieldvalidator runat="server"
controltovalidate="UserName"
tooltip="Enter a User Name"
id="UserNameRequiredAsx"
validationgroup="MyLogin"
errormessage="Enter a User Name">
*
</asp:requiredfieldvalidator>
</div>
</div>
<div style="text-align:center;">
<asp:button
id="Login"
CommandName="Login"
runat="server"
Text="Login"
CssClass="glass_button login_button">
</asp:button>
</div>
<div class="error_message_text login_errormsg_position">
<asp:Literal
id="FailureText"
runat="server">
</asp:Literal>
<asp:ValidationSummary
ID="LoginValidationSummary"
ValidationGroup="MyLogin"
runat="server" />
</div>
</LayoutTemplate>
</asp:Login>
当然,表单上也有密码,但是我将其编辑掉了,因为它基本上是用户名代码的重复。相同的代码在注册表单(createuserwizard控件)上可以正常工作,但是当我将其复制到登录控件时,它无法正常工作。