How to Add a Parameter to Membership.CreateUser()

陌路散爱 提交于 2019-12-24 18:23:20

问题


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

Can i override CreateUser() Function to add extra parameters as age and address and store these data into the corresponing Columns that i added in Membership Table in ASPNETDB


回答1:


You have to create a subclass of the membership provider you use and provide an additional CreateUser method that takes the parameters you require to create the user.

public class MyMembershipProvider : SqlMembershipProvider
{
    public MembershipUser CreateUser(/* your custom arguments*/)
    {

    }
}

Create an extension method to invoke your method.

public static MembershipUser CreateUser(this Membership membership, /* your custom arguments*/)
{
       ((MyMembershipProvider)membership.Provider).CreateUser(/* your custom arguments*/);
}

Then you can use it as an orverload of the CreateUser method.

Membership.CreateUser(/* your custom arguments*/);



回答2:


In reference to Eranga's suggestion:

This will not work, static types cannot be used as parameters. As far as I know you cannot override the CreateUser method without writing your own custom provider, then creating a public CreateUser method with your own parameters, then casting the provider to call your method like so:

((MyMembershipProvider)Membership.Provider).CreateUser(/* my parameters */)


来源:https://stackoverflow.com/questions/10467724/how-to-add-a-parameter-to-membership-createuser

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!