如何向 Member.CreateUser() 添加参数
本文关键字:添加 参数 CreateUser Member | 更新日期: 2023-09-27 18:33:15
CreateUser (string username, string password, string email,
string passwordQuestion, string passwordAnswer, bool isApproved,
object providerUserKey, out MembershipCreateStatus status );
Membership.CreateUser (TextBox1.Text, TextBox2.Text, TextBox3.Text,
TextBox4.Text, TextBox5.Text, true, out result);
我可以覆盖CreateUser()
函数以添加额外的参数作为年龄和地址并将这些数据存储到我在 ASPNETDB 的成员表中添加的相关列中
您必须
创建所用成员资格提供程序的子类,并提供一个额外的 CreateUser
方法,该方法采用创建用户所需的参数。
public class MyMembershipProvider : SqlMembershipProvider
{
public MembershipUser CreateUser(/* your custom arguments*/)
{
}
}
创建扩展方法来调用方法。
public static MembershipUser CreateUser(this Membership membership, /* your custom arguments*/)
{
((MyMembershipProvider)membership.Provider).CreateUser(/* your custom arguments*/);
}
然后,您可以将其用作CreateUser
方法的或加载。
Membership.CreateUser(/* your custom arguments*/);
参考Eranga的建议:
这行不通,静态类型不能用作参数。据我所知,如果不编写自己的自定义提供程序,然后使用自己的参数创建公共 CreateUser 方法,然后强制转换提供程序以调用您的方法,则无法覆盖 CreateUser
方法,如下所示:
((MyMembershipProvider)Membership.Provider).CreateUser(/* my parameters */)