ChangePassword 控件忽略自定义模板并呈现默认值
ChangePassword Control Ignores Custom Template and Renders Default
在一些旧代码中,我最近遇到了一个呈现异常的 ChangePassword
控件。尽管有一个 bootstrap 布局,它在一个 table 内渲染,根本没有任何布局。
<asp:ChangePassword
ID="ChangePassword3"
runat="server">
<ChangePasswordTemplate>
<div class="form-row">
<div class="col-sm-6">
<asp:Label ID="Label1" runat="server" AssociatedControlID="CurrentPassword">Current Password:</asp:Label>
</div>
<div class="col-sm-6">
<asp:TextBox ID="CurrentPassword" runat="server" TextMode="Password" />
</div>
</div>
<div class="form-row">
<div class="col-sm-6">
<asp:Label ID="NewPasswordLabel" runat="server" AssociatedControlID="NewPassword">New Password:</asp:Label>
</div>
<div class="col-sm-6">
<asp:TextBox ID="NewPassword" runat="server" TextMode="Password" />
<%=TestMessage%>
</div>
</div>
<div class="form-row">
<div class="col-sm-6">
<asp:Label ID="ConfirmNewPasswordLabel" runat="server" AssociatedControlID="ConfirmNewPassword">Confirm New Password:</asp:Label>
</div>
<div class="col-sm-6">
<asp:TextBox ID="ConfirmNewPassword" runat="server" TextMode="Password"></asp:TextBox>
</div>
</div>
</ChangePasswordTemplate>
</asp:ChangePassword>
为什么渲染不正确?
事实证明,如果不破坏它,就无法在该模板中使用代码呈现块。然而,它在没有任何错误指示的情况下静静地中断,然后恢复为默认渲染。删除以下行解决了问题。
<%=TestMessage%>
在一些旧代码中,我最近遇到了一个呈现异常的 ChangePassword
控件。尽管有一个 bootstrap 布局,它在一个 table 内渲染,根本没有任何布局。
<asp:ChangePassword
ID="ChangePassword3"
runat="server">
<ChangePasswordTemplate>
<div class="form-row">
<div class="col-sm-6">
<asp:Label ID="Label1" runat="server" AssociatedControlID="CurrentPassword">Current Password:</asp:Label>
</div>
<div class="col-sm-6">
<asp:TextBox ID="CurrentPassword" runat="server" TextMode="Password" />
</div>
</div>
<div class="form-row">
<div class="col-sm-6">
<asp:Label ID="NewPasswordLabel" runat="server" AssociatedControlID="NewPassword">New Password:</asp:Label>
</div>
<div class="col-sm-6">
<asp:TextBox ID="NewPassword" runat="server" TextMode="Password" />
<%=TestMessage%>
</div>
</div>
<div class="form-row">
<div class="col-sm-6">
<asp:Label ID="ConfirmNewPasswordLabel" runat="server" AssociatedControlID="ConfirmNewPassword">Confirm New Password:</asp:Label>
</div>
<div class="col-sm-6">
<asp:TextBox ID="ConfirmNewPassword" runat="server" TextMode="Password"></asp:TextBox>
</div>
</div>
</ChangePasswordTemplate>
</asp:ChangePassword>
为什么渲染不正确?
事实证明,如果不破坏它,就无法在该模板中使用代码呈现块。然而,它在没有任何错误指示的情况下静静地中断,然后恢复为默认渲染。删除以下行解决了问题。
<%=TestMessage%>