【问题标题】:textboxfor not returning value on submit提交时不返回值的文本框
【发布时间】:2012-08-20 01:22:19
【问题描述】:

我正在使用 asp.net mvc 4。我有一个包含 2 个必填字段的登录模型:电子邮件和密码。我正在使用 @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。它应该始终保持启用状态。

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

【问题讨论】:

  • 公共类模型应该是公共类IntraNoviUserLoginModel吗?
  • 我以为我把每个名字都改成了模特,但我好像忘记了。由于我们使用长名称,因此我将它们更改为示例中的模型。我马上编辑出来。我在我的代码中使用了正确的模型。
  • 和@model model 配对
  • @dougajmcdonald 我不太明白你的意思。
  • 以前您的视图文件中有@Model 模型。如果您要更改公共类模型,则视图应该匹配。您修改后的帖子反映了这一点:)

标签: asp.net-mvc razor html.textboxfor


【解决方案1】:

我通过使用 EditorFor 而不是 TextboxFor 解决了这个问题。我不知道为什么它突然起作用了,也许有人可以在 cmets 中启发我?

【讨论】:

  • 我知道这已经晚了 2 年,但我现在遇到了这个确切的问题...... EditorFor 不允许您轻松分配类,但 TextBoxFor 没有返回值。所以我很茫然!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-08
  • 1970-01-01
  • 2020-09-05
  • 2010-11-02
  • 1970-01-01
相关资源
最近更新 更多