为自定义错误调用 "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.
}
当我 运行 故意创建注册错误(即不符合配置文件密码要求的密码)时,错误事件转到此方法。
在 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.
}
当我 运行 故意创建注册错误(即不符合配置文件密码要求的密码)时,错误事件转到此方法。