我在.aspx
页面上有asp:login
控件。我正在使用LayoutTemplate
。当用户输入错误的用户名或密码时,在postback
上,密码字段似乎已填满。因此,如果用户只更改用户名并尝试再次登录,则会返回错误。调试我已经看到密码是空的。使用LayoutTemplate在asp:登录表单上清空密码字段
我测试了相同的行为,使用默认asp:login
,没有LayoutTemplate
,它运作良好。这意味着在输入错误的用户名或密码后,在postback
上,密码字段显示为空。
我该如何让它工作?
编辑:
这是我使用的代码。如果出现问题并发生回发,密码字段会显示为已填充。如果用户再次点击登录,在调试模式下,我看到密码为空。
<asp:Login ID="lgLogin" runat="server"
FailureText="Wrong data"
TextLayout="TextOnLeft"
OnAuthenticate="lgLogin_Authenticate"
DestinationPageUrl="http://www.blablabla.com/"
OnLoginError="lgLogin_Error"
RenderOuterTable="false"
DisplayRememberMe="False">
<LayoutTemplate>
<div class="form-group">
<label for="lgLogin_UserName" class="col-md-4 control-label">Login <span class="require">*</span></label>
<div class="col-md-8">
<div class="input-icon">
<i class="fa fa-user"></i>
<asp:TextBox runat="server" type="text" ID="UserName" CssClass="form-control" />
</div>
</div>
</div>
<div class="form-group">
<label for="lgLogin_Password" class="col-md-4 control-label">Password <span class="require">*</span></label>
<div class="col-md-8">
<div class="input-icon">
<i class="fa fa-lock"></i>
<asp:TextBox runat="server" type="password" ID="Password" CssClass="form-control" />
</div>
</div>
</div>
<div id="AvisoError" runat="server" class="alert alert-danger" visible="false">
<button class="close" data-close="alert"></button>
<span>
<asp:Label ID="FailureText" runat="server" ></asp:Label>
</span>
</div>
<div class="form-group">
<div class="col-md-offset-4 col-md-8">
<asp:Button class="btn btn-primary" ID="LoginButton" runat="server" CommandName="Login" Text="Entrar" />
</div>
</div>
</LayoutTemplate>
<TextBoxStyle CssClass="form-control"/>
<LoginButtonStyle CssClass="btn btn-primary" />
如果我使用默认的asp:登录时,如果出现错误和回传时,密码显示为空。
<asp:Login ID="lgLogin" runat="server"
FailureText="Wrong data"
TextLayout="TextOnLeft"
OnAuthenticate="lgLogin_Authenticate"
DestinationPageUrl="http://www.blablabla.com/"
RenderOuterTable="false"
DisplayRememberMe="False">
请问您可以添加代码吗?这将更容易调查。 – 2014-10-16 11:58:48