Membership.GetUser -> Membership 不包含“GetUser”的定义。我错过了啥?

Posted

技术标签:

【中文标题】Membership.GetUser -> Membership 不包含“GetUser”的定义。我错过了啥?【英文标题】:Membership.GetUser -> Membership doesn't contain a definition for 'GetUser'. What have I missed?Membership.GetUser -> Membership 不包含“GetUser”的定义。我错过了什么? 【发布时间】:2015-04-26 02:36:56 【问题描述】:

MembershipUser newUser = Membership.GetUser(CreateUserWizard1.UserName);

我在GetUser 下看到一条红线,当我将鼠标悬停在它上面时,会出现一条消息:

会员不包含“GetUser”的定义

当我点击GetUser 下方的小破折号时,我得到:

在“Membership”中为“GetUser”生成方法存根

我错过了什么?

ASPX:

<asp:CreateUserWizard ID="CreateUserWizard1" runat="server" OnCreatedUser="CreateUserWizard1_CreatedUser" >
    <WizardSteps>
        <asp:CreateUserWizardStep ID="CreateUserWizardStep1" runat="server">
        </asp:CreateUserWizardStep>
        <asp:CompleteWizardStep ID="CompleteWizardStep1" runat="server">
        </asp:CompleteWizardStep>
    </WizardSteps>
</asp:CreateUserWizard>

后面的代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.Security;

public partial class SignUp : System.Web.UI.Page

    protected void Page_Load(object sender, EventArgs e)
    

    

    protected void CreateUserWizard1_CreatedUser(object sender, EventArgs e)
    
        MembershipUser newUser = Membership.GetUser(CreateUserWizard1.UserName);
        Guid newUserId = (Guid)newUser.ProviderUserKey;
    

【问题讨论】:

@GrantWinney,我想我是从您的评论中了解到的。我有一个名为Membership 的类,但由于安装了包Microsoft.AspNet.Providers,它是默认类。因此,您提到的System.Web.Security.Membership 与提供者之间存在冲突。谢谢。 是的 - 要么删除问题 - 或者提出你自己的答案并在你找到解决方案时接受它 【参考方案1】:

问题是由于存在同名的类Membership。已定义的方法没有GetUser 方法的定义。 代码工作真正需要的是调用 classMembership 的完整命名空间来区分两者;已经定义了一个和预期的一个。预期的可以通过以下方式引用: System.Web.Security.Membership

取而代之的是: MembershipUser newUser = Membership.GetUser(CreateUserWizard1.UserName);

使用这个:MembershipUser newUser = System.Web.Security.Membership.GetUser(CreateUserWizard1.UserName);

【讨论】:

以上是关于Membership.GetUser -> Membership 不包含“GetUser”的定义。我错过了啥?的主要内容,如果未能解决你的问题,请参考以下文章

如何捕捉异常

成员资格提供程序产生意外的 SQL 错误

在asp.net中获取用户ID

asp.net 如何获得 当前用户 userid