首页 > 解决方案 > ChangePassword 控件忽略自定义模板并呈现默认值

问题描述

在一些旧代码中,我最近遇到了一个ChangePassword渲染异常的控件。尽管有引导布局,但它在一个完全没有布局的表中渲染。

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

为什么渲染不正确?

标签: asp.netwebformschange-password

解决方案


事实证明,如果不破坏它,就无法在此模板中使用代码渲染块。但是,它会静默中断,没有任何错误指示,然后恢复为默认渲染。删除以下行解决了该问题。

<%=TestMessage%>

推荐阅读