为自定义错误调用 "On Registration Error" 的 ASP.NET 属性是什么?

What is the ASP.NET attribute to call "On Registration Error" for Custom Errors?

在 ASP.NET(即 Login.aspx、Register.aspx 等中使用预建会员功能时,我可以在我的 ASP.NET asp:Login 元素中的登录页面(注意调用我的代码隐藏方法的 OnLoginError 属性)。

<asp:Login ID="LoginBlock" runat="server" ViewStateMode="Disabled" RenderOuterTable="false" OnLoginError="LoginBlock_LoginError">

预建的Register.aspx页面有这样的属性吗?如果是这样,它将进入哪个注册 HTML 元素?我一直在查看 SO 并通过 Intellisense 提示,但我没有看到它会是什么。

这是我从 Content 元素向下的注册页面:

<asp:Content ID="bodyContent" ContentPlaceHolderID="dashboardBody" runat="server">
    <script type="text/javascript" src="../Scripts/dcfpakHelper.js"></script>
    <asp:ScriptManager ID="ScriptManager" runat="server" AsyncPostBackTimeout="1200" EnablePageMethods="true" EnablePartialRendering="true" EnableCdn="true" />
    <asp:CreateUserWizard runat="server" ID="RegisterUser" ViewStateMode="Disabled" OnCreatedUser="RegisterUser_CreatedUser" OnRegistrationError="">
        <LayoutTemplate>
            <asp:PlaceHolder runat="server" ID="wizardStepPlaceholder" />
            <asp:PlaceHolder runat="server" ID="navigationPlaceholder" />
        </LayoutTemplate>
        <WizardSteps>
            <asp:CreateUserWizardStep runat="server" ID="RegisterUserWizardStep">
                <ContentTemplate>


                    <p class="validation-summary-errors">
                        <asp:Literal runat="server" ID="ErrorMessage" />
                    </p>

                    <fieldset class="form-signin">
                        <legend>Registration Form</legend>

                        <asp:Label ID="Label2" CssClass="sr-only" runat="server" AssociatedControlID="Email">Email address</asp:Label>
                        <asp:TextBox CssClass="form-control" runat="server" placeholder="Email" ID="Email" TextMode="Email" OnTextChanged="SetUserNameTextToEmailText" />
                        <div style="padding-top: 10px; padding-bottom: 10px">
                            <asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ControlToValidate="Email"
                            CssClass="field-validation-error text-center alert alert-danger" ErrorMessage="The email address field is required." />
                        </div>


                        <asp:Label ID="Label3" CssClass="sr-only" runat="server" AssociatedControlID="Password">Password</asp:Label>
                        <asp:TextBox CssClass="form-control" runat="server" placeholder="Password" ID="Password" TextMode="Password" />
                        <div style="padding-top: 10px; padding-bottom: 10px">
                            <asp:RequiredFieldValidator ID="RequiredFieldValidator3" runat="server" ControlToValidate="Password"
                            CssClass="field-validation-error text-center alert alert-danger" ErrorMessage="The password field is required." />
                        </div>


                        <asp:Label ID="Label4" CssClass="sr-only" runat="server" AssociatedControlID="ConfirmPassword">Confirm password</asp:Label>
                        <asp:TextBox CssClass="form-control" placeholder="Confirm Password" runat="server" ID="ConfirmPassword" TextMode="Password" />
                        <asp:RequiredFieldValidator ID="RequiredFieldValidator4" runat="server" ControlToValidate="ConfirmPassword"
                            CssClass="field-validation-error" Display="Dynamic" ErrorMessage="The confirm password field is required." />
                        <asp:CompareValidator ID="CompareValidator1" runat="server" ControlToCompare="Password" ControlToValidate="ConfirmPassword"
                            CssClass="field-validation-error" Display="Dynamic" ErrorMessage="The password and confirmation password do not match." />

                        <asp:Label ID="Label1" CssClass="sr-only" runat="server" AssociatedControlID="UserName">User name</asp:Label>
                        <asp:TextBox CssClass="form-control" placeholder="User Name" runat="server" ID="UserName" style="display: none"/>
                        <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="UserName"
                            CssClass="field-validation-error" ErrorMessage="The user name field is required." />

                        <div style="padding-top: 20px">
                            <asp:Button ID="Button1" CssClass="btn btn-lg btn-default btn-block" runat="server" CommandName="MoveNext" Text="Register" />
                        </div>
                    </fieldset>
                </ContentTemplate>
                <CustomNavigationTemplate />
            </asp:CreateUserWizardStep>
        </WizardSteps>
    </asp:CreateUserWizard>
</asp:Content>

经过一些工作,我弄明白了(具有讽刺意味的是,正是 VB.NET 中的一个答案让我走上了正确的道路。请参阅本网站 here 上的 post .在戴小勇的回答下).

在 CreateUserWizard 元素中,我插入了 OnCreateUserError 属性并为其提供了一个名为 RegisterUser_CreateUserError 的方法。

<asp:CreateUserWizard runat="server" ID="RegisterUser" ViewStateMode="Disabled" OnCreatedUser="RegisterUser_CreatedUser" OnCreateUserError="RegisterUser_CreateUserError">

在后面的代码中,我然后放置了方法RegisterUser_CreateUserError:

    protected void RegisterUser_CreateUserError(object sender, CreateUserErrorEventArgs e)
    {
            //Error message handling here. 
    }

当我 运行 故意创建注册错误(即不符合配置文件密码要求的密码)时,错误事件转到此方法。