如何为Membership.CreateUser()添加一个参数

 2023-02-17    419  

问题描述

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

中添加的Commenthing列中添加的列

如何为Membership.CreateUser()添加一个参数

推荐答案

您必须创建您使用的会员提供程序的子类,并提供额外的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方法的orverload.

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

其他推荐答案

参考Eranga的建议:

这将无法正常工作,静态类型不能用作参数.据我所知,无法覆盖CreateUser方法而不编写自己的自定义提供程序,然后使用自己的参数创建公共CreateUser方法,然后将提供程序投射以调用您的方法:

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

以上所述是小编给大家介绍的如何为Membership.CreateUser()添加一个参数,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对77isp云服务器技术网的支持!

原文链接:https://77isp.com/post/34109.html

=========================================

https://77isp.com/ 为 “云服务器技术网” 唯一官方服务平台,请勿相信其他任何渠道。