ASP.net C #. Метод Membership.CreateUser - отсутствует ссылка или сборка. сложены - PullRequest
1 голос
/ 31 января 2010

Я получаю ошибку:

Ошибка 1 Тип или имя пространства имен 'CreateUser' не существует в пространстве имен 'LocalGarageFinder.Membership' (отсутствует ссылка на сборку?)

Я проверил пространства имен. все в. Security.Web.Security; чего не хватает? помогите пожалуйста

using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;

using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Xml.Linq;
using System.Web.Security;

namespace LocalGarageFinder.Membership
{
    public partial class CreatingUserAccounts : System.Web.UI.Page
    {
        const string passwordQuestion = "What is your favorite color";
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack) SecurityQuestion.Text = passwordQuestion;
        }

        protected void CreateAccountButton_Click(object sender, EventArgs e) 
        { 
          MembershipCreateStatus createStatus; 
          MembershipUser newUser = Membership.CreateUser(Username.Text, Password.Text, Email.Text, passwordQuestion, SecurityAnswer.Text, true, out createStatus); 

            switch (createStatus) 
            { case MembershipCreateStatus.Success: CreateAccountResults.Text = "The user account was successfully created!";
                   break; 
              case MembershipCreateStatus.DuplicateUserName: CreateAccountResults.Text = "There already exists a user with this username."; 
                   break;
              case MembershipCreateStatus.DuplicateEmail: CreateAccountResults.Text = "There already exists a user with this email address."; 
                   break; 
              case MembershipCreateStatus.InvalidEmail: CreateAccountResults.Text = "There email address you provided in invalid."; 
                    break; 
             case MembershipCreateStatus.InvalidAnswer: CreateAccountResults.Text = "There security answer was invalid."; 
                    break; 
             case MembershipCreateStatus.InvalidPassword: CreateAccountResults.Text = "The password you provided is invalid. It must be seven characters long and have at least one non-alphanumeric character.";
                    break; 
             default: CreateAccountResults.Text = "There was an unknown error; the user account was NOT created."; 
                 break; } }
}
}

Ответы [ 2 ]

1 голос
/ 31 января 2010

Попробуйте MembershipUser newUser = System.Web.Security.Membership.CreateUser(...). Кажется, компилятор ищет в LocalGarageFinder.Membership, где действительно нет типа CreateUser.

1 голос
/ 31 января 2010

У вас здесь происходит столкновение пространства имен. Я полагаю, что вы пытаетесь получить доступ к провайдеру членства asp.net с помощью звонка в Membership.CreateUser, но он не может этого найти, потому что просто просматривает ваше пространство имен LocalGarageFinder.Membership.

Если вы не можете изменить свое пространство имен на что-то более простое для работы, вы можете добавить префикс вашего звонка провайдеру членства к его полному пространству имен.

Это изменит ваш звонок на:

MembershipUser newUser = System.Web.Security.Membership.CreateUser(Username.Text, Password.Text, Email.Text, passwordQuestion, SecurityAnswer.Text, true, out createStatus); 
...