CreateUserWizard.OnCreatingUser(LoginCancelEventArgs) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
在呼叫成員資格提供者以建立新的使用者帳戶之前,引發 CreatingUser 事件。
protected:
virtual void OnCreatingUser(System::Web::UI::WebControls::LoginCancelEventArgs ^ e);
protected virtual void OnCreatingUser (System.Web.UI.WebControls.LoginCancelEventArgs e);
abstract member OnCreatingUser : System.Web.UI.WebControls.LoginCancelEventArgs -> unit
override this.OnCreatingUser : System.Web.UI.WebControls.LoginCancelEventArgs -> unit
Protected Overridable Sub OnCreatingUser (e As LoginCancelEventArgs)
參數
包含事件資料的 LoginCancelEventArgs。
範例
下列程式代碼範例會定義自定義控件,這個控件 CreateUserWizard 會使用 OnCreatingUser 方法將 屬性設為 UserName 全部小寫。
using System;
using System.Web;
using System.Web.UI.WebControls;
using System.Security.Permissions;
namespace Samples.AspNet.CS.Controls {
[AspNetHostingPermission(System.Security.Permissions.SecurityAction.Demand,Level = AspNetHostingPermissionLevel.Minimal)]
[AspNetHostingPermission(System.Security.Permissions.SecurityAction.InheritanceDemand,Level = AspNetHostingPermissionLevel.Minimal)]
public class CustomCreateUserWizard : CreateUserWizard {
protected override void OnCreatingUser(LoginCancelEventArgs e) {
this.UserName.ToLower();
base.OnCreatingUser(e);
}
}
}
Imports System.Web
Imports System.Web.UI.WebControls
Imports System.Security.Permissions
Namespace Samples.AspNet.VB.Controls
<AspNetHostingPermission(System.Security.Permissions.SecurityAction.Demand, Level:=AspNetHostingPermissionLevel.Minimal)> _
<AspNetHostingPermission(System.Security.Permissions.SecurityAction.InheritanceDemand, Level:=AspNetHostingPermissionLevel.Minimal)> _
Public Class CustomCreateUserWizard
Inherits CreateUserWizard
Overloads Sub OnCreatingUser(ByVal e As LoginCancelEventArgs)
Me.UserName.ToLower()
MyBase.OnCreatingUser(e)
End Sub
End Class
End Namespace
下列程式代碼範例示範使用 的 CustomCreateUserWizard
網頁。
<%@ Page Language="C#"%>
<%@ Import namespace="Samples.AspNet.CS.Controls" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
void Page_Load(object sender, EventArgs e)
{
CustomCreateUserWizard createUser = new CustomCreateUserWizard();
Placeholder1.Controls.Add(createUser);
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>CreateUserWizard.OnCreatingUser sample</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:placeholder id="Placeholder1" runat="server">
</asp:placeholder>
</div>
</form>
</body>
</html>
<%@ Page Language="VB"%>
<%@ Import namespace="Samples.AspNet.VB.Controls" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
Dim createUser As New CustomCreateUserWizard
Placeholder1.Controls.Add(createUser)
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>CreateUserWizard.OnCreatingUser sample</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:placeholder id="Placeholder1" runat="server">
</asp:placeholder>
</div>
</form>
</body>
</html>
備註
OnCreatingUser使用方法,在將新使用者資訊傳送至 CreateUser 屬性中所MembershipProvider指定成員資格提供者的 方法之前,先執行任何必要的處理。 例如,您可以將使用者名稱字段設定為所有小寫字母,或先比較電子郵件位址與受限制位址的清單,再允許建立用戶帳戶。
如果您需要取消要求以建立新的使用者帳戶,請將傳遞為 e
參數的物件 LoginCancelEventArgs 屬性設定Cancel為 true
。
引發事件會透過委派叫用此事件處理常式。 如需詳細資訊,請參閱 處理和引發事件。
OnCreatingUser 方法也允許衍生類別處理事件,而不用附加委派。 這是在衍生類別中處理事件的慣用技巧。
給繼承者的注意事項
在 OnCreatingUser(LoginCancelEventArgs) 衍生類別中覆寫時,請務必呼叫基類的 OnCreatingUser(LoginCancelEventArgs) 方法,讓已註冊的委派接收事件。