2015-09-26 59 views
-1

我想在MVC中創建一個基本的登錄面板。我有一個MemberLogin類作爲模型和一個MemberController。我嘗試添加名爲「Login」,模板「Empty」,模型類「MemberLogin(LoginPanel.Models)」和數據類「ApplicationDbContext(LoginPanel.Models)」的視圖並且收到驗證錯誤,如下所示:登錄面板驗證錯誤

運行選定的代碼生成器時發生錯誤。無法檢索'LoginPanel.Models.LoginViewModel'的元數據。模型生成過程中出現一個或多個驗證錯誤。

LoginViewModel:EntityType'LoginViewModel'沒有keydefined。定義此EntityType的關鍵字。

LoginViewModels:EntityType:EntitySet'LoginViewModels'基於沒有定義鍵的類型'LoginViewModel'。

using System.ComponentModel.DataAnnotations;

namespace LoginPanel.Models 
{ 
    public class MemberLogin 
    { 

     public string UserName { get; set; } 

     [DataType(DataType.Password)] 
     public string Password { get; set; } 
    } 
} 


using System.Web.Mvc; 

namespace LoginPanel.Controllers 
{ 
    public class MemberController : Controller 
    { 
     public ActionResult Giris() 
     { 
      return View(); 
     } 
    } 
} 

我該如何克服這個問題?

+0

你的錯誤涉及到'LoginViewModel',但你甚至沒有顯示與它相關的代碼。 –

+0

這就是問題了!我試圖自動添加代碼並收到此錯誤。然後我自己寫下來解決了這個問題。 – Erdem

回答

0

我自己寫了「視圖」而不是自動創建。它工作。

@model LoginPanel.Models.MemberLogin 
@{ 
    ViewBag.Title = "Login"; 
} 

<h2>Member Login</h2> 
@using (Html.BeginForm()) 
{ 
    @Html.AntiForgeryToken() 
    <div class="form-horizontal"> 
     <div class="form-group"> 
      @Html.LabelFor(model => model.UserName, new { @class="control-label col-md-2"}) 
      <div class="col-md-10"> 
       @Html.EditorFor(model =>model.UserName) 
       @Html.ValidationMessageFor(model =>model.UserName) 
      </div> 
     </div> 
    </div> 

    <div class="form-horizontal"> 
     <div class="form-group"> 
      @Html.LabelFor(model => model.Password, new { @class = "control-label col-md-2"}) 
      <div class="col-md-10"> 
       @Html.EditorFor(model=>model.Password) 
       @Html.ValidationMessageFor(model=>model.Password) 
      </div> 
     </div> 
    </div> 
}