MVC - 验证新记录中的Id字段

时间:2014-08-14 18:14:35

标签: c# asp.net-mvc

我正在为MVC创建自定义登录。在我的帐户控制器中,我有两个操作:

  • 索引(我在用户注册时发布)

  • 登录

Index操作以MemberModel为参数,Login正在LoginModel。我的问题是我无法验证Index中的MemberModel,因为错误“需要Id字段”。

我做了一些研究并将[Bind(Exclude="Id")]添加到我的代码中。所以,现在我的签名看起来像这样:

public ActionResult Index([Bind(Exclude="Id")]MemberModel model)

我的问题是我无法发布此方法,因为我在签名中添加了[Bind(Exclude =“Id”)]部分。出于某种原因,所有发布请求都将转到“登录”操作。

我的观点看起来像

@if (!Request.IsAuthenticated) { 
    using (@Html.BeginForm("Index","Account")) { 
    @Html.ValidationMessage("MailError")

    @Html.HiddenFor(m => m.Id)
    @Html.LabelFor(m => m.Name)
    @Html.TextBoxFor(m => m.Name)

    <br />

    @Html.LabelFor(m => m.Surname)
    @Html.TextBoxFor(m => m.Surname)

    <br />

    @Html.LabelFor(m => m.Email)
    @Html.TextBoxFor(m => m.Email)

    <br />

    @Html.LabelFor(m => m.Password)
    @Html.PasswordFor(m => m.Password)

    <input type="submit" value="Register" />
    }
}

1 个答案:

答案 0 :(得分:0)

您需要删除

@Html.HiddenFor(m => m.Id)