Asp.net mvc textbox用于在提交时不返回值

Asp.net mvc textbox用于在提交时不返回值,asp.net-mvc,razor,html.textboxfor,Asp.net Mvc,Razor,Html.textboxfor,我在asp.NETMVC4中工作。我有一个带有两个必填字段的登录模型:电子邮件和密码。我正在使用@Html.TextboxFor获取正确的值。这适用于我的密码,但我似乎无法使其适用于该帐户 这是我的密码: .cshtml @model IntraNoviUserLoginModel @using (Html.BeginForm("Login", "Home")) { @Html.TextBoxFor(m => m.Email) @Html.TextBoxFor(m =>

我在asp.NETMVC4中工作。我有一个带有两个必填字段的登录模型:电子邮件和密码。我正在使用@Html.TextboxFor获取正确的值。这适用于我的密码,但我似乎无法使其适用于该帐户

这是我的密码:

.cshtml

@model IntraNoviUserLoginModel
@using (Html.BeginForm("Login", "Home"))
{
    @Html.TextBoxFor(m => m.Email)
    @Html.TextBoxFor(m => m.Password, new { id = "password", type = "password" })
}
控制器:

[HttpPost]
public ActionResult Login(IntraNoviUserLoginModel model)
{
    if (ModelState.IsValid)
    {
        //Code
    }
}
型号:

public class IntraNoviUserLoginModel
{
    [Required]
    public string Email { get; set; }

    [Required]
    [DataType(DataType.Password)]
    public string Password { get; set; }    
}
我没有将电子邮件文本框设置为enabled=false。它应该一直保持启用状态


我希望我们能一起解决这个问题

我用EditorFor代替TextboxFor解决了这个问题。我不知道为什么它会突然起作用,也许有人能在评论中给我一些启发?

公共类模型应该是公共类IntroviUserLoginModel吗?我想我把每个名字都改成了模型,但似乎我忘记了。因为我们使用长名称,所以我在示例中将它们更改为model。我现在就把它编辑出来。我在代码中使用了正确的模型。请使用@model和@model进行配对up@dougajmcdonald我真的不明白你的意思。以前你的视图文件中有@Model Model。如果要更改公共类模型,则视图应匹配。你修改后的帖子反映了这一点:)我知道这已经晚了两年,但我现在正经历着这个问题。。。EditorFor不允许轻松分配类,但TextBoxFor不返回值。所以我不知所措!