我试图在MVC中创建一个基本的登录面板。我有一个MemberLogin类作为模型,还有一个MemberController。我尝试添加名称为"登录",模板"空",模型类"会员登录(LoginPanel.Models)"和数据上下文类" ApplicationDbContext(LoginPanel.Models)"并收到如下验证错误:
运行所选代码生成器时出错。无法检索' LoginPanel.Models.LoginViewModel'的元数据。在模型生成期间,确定了一个或多个验证错误。
LoginViewModel:EntityType' LoginViewModel'没有密钥定义。定义此EntityType的密钥。
LoginViewModels:EntityType:EntitySet' LoginViewModels'基于类型' LoginViewModel'没有定义键。
使用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 :(得分: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>
}