2016-03-25 20 views
0

私はC#を初めて使用しており、現在ASP.NET MVCアプリケーションを作成しています。私は現在、指示に従っしようとすると、上記のエラーを取得していますと、ここで見つける:Extending ASP.NET Identityタイプまたは名前空間の名前 'Application User'が見つかりませんでした

私は彼らがログインされると、ユーザーの最初の名前ではなく、自分のメールアドレスを表示するように私のコードを取得しようとしています

。ここに私のApplicationUserクラスがIdentityModels.cs内で発見され_LoginPartial.cshtmlここ

@using Microsoft.AspNet.Identity 
@if (Request.IsAuthenticated) 
{ 
    using (Html.BeginForm("LogOff", "Account", FormMethod.Post, new { id = "logoutForm", @class = "navbar-right" })) 
    { 
    @Html.AntiForgeryToken() 

    <ul class="nav navbar-nav navbar-right"> 
     <li> 
      @{ 
       var manager = new UserManager<ApplicationUser>(new Microsoft.AspNet.Identity.EntityFramework.UserStore<ApplicationUser>(new ApplicationDbContext())); 
       var currentUser = manager.FindById(User.Identity.GetUserId()); 
      } 
      @Html.ActionLink("Hello " + currentUser.FName + "!", "Index", "Manage", routeValues: null, htmlAttributes: new { title = "Manage" }) 
     </li> 
     <li><a href="javascript:document.getElementById('logoutForm').submit()">Log off</a></li> 
    </ul> 
    } 
} 
else 
{ 
    <ul class="nav navbar-nav navbar-right"> 
     <li>@Html.ActionLink("Register", "Register", "Account", routeValues: null, htmlAttributes: new { id = "registerLink" })</li> 
     <li>@Html.ActionLink("Log in", "Login", "Account", routeValues: null, htmlAttributes: new { id = "loginLink" })</li> 
    </ul> 
} 

ための私のコードです

public class ApplicationUser : IdentityUser 
{ 
    public string FName { get; set; } 
    public string LName { get; set; } 

    public async Task<ClaimsIdentity> GenerateUserIdentityAsync(UserManager<ApplicationUser> manager) 
    { 
     // Note the authenticationType must match the one defined in CookieAuthenticationOptions.AuthenticationType 
     var userIdentity = await manager.CreateIdentityAsync(this, DefaultAuthenticationTypes.ApplicationCookie); 
     // Add custom user claims here 
     return userIdentity; 
    } 
} 

アドバイスをいただければ幸いです。

+0

ビューでApplicationUserクラスのusingディレクティブを使用する必要があります。それ以外の場合、そのクラスはそこに表示されません。 – Andrei

+0

その構文は何ですか?私は試しました: @model ContactManager.Models.ApplicationUser しかし、それは動作しませんでした – Sam

+0

あなたはビューで既に1つを使用しています。構文は同じですが、名前空間とクラスだけが異なります – Andrei

答えて

0

@using ContactManager.Models.ApplicationUserをご覧ください。

0

私はそれが_LoginPartial.cshtmlに以下を入れて取り組んだ:

@using projectname.Models 

別のエラーメッセージが生じた他の提案。 助けてくれてありがとう!

関連する問題