【问题标题】:Form fields are null on POST表单字段在 POST 上为空
【发布时间】:2015-03-03 22:13:14
【问题描述】:

我有简单的联系表格,这是(视图)模型:

public class ContactForm
{
    [Required]
    public string Name;
    [Required]
    public string Email;
    [Required]
    public string Subject;
    [Required]
    public string Msg;
}

控制器:

public ActionResult Contact (ContactForm form)
{
    return RedirectToAction("Index");
}

查看:

@model myNamespace.ContactForm
...
@using (Html.BeginForm("Contact", "Home", FormMethod.Post))
{
    @Html.LabelFor(x => x.Name)
    @Html.TextBoxFor(x => x.Name)
    @Html.LabelFor(x => x.Email)
    @Html.TextBoxFor(x => x.Email)
    @Html.LabelFor(x => x.Subject)
    @Html.TextBoxFor(x => x.Subject)
    @Html.LabelFor(x => x.Msg)
    @Html.TextAreaFor(x => x.Msg)
    <button type="submit">Enviar</button>
}

Controller 的 Contact 方法被调用。但是参数form 的所有字段都为空:

【问题讨论】:

标签: c# asp.net-mvc asp.net-mvc-4 asp.net-mvc-5


【解决方案1】:

您的模型中需要公共propertiesget set 而不是fields,目前您在模型类中创建了不适合您的字段:

public class ContactForm
{
[Required]
public string Name {get;set;}
[Required]
public string Email { get; set;}
[Required]
public string Subject {get;set;}
[Required]
public string Msg{get;set;}
}

【讨论】:

    猜你喜欢
    • 2012-03-19
    • 2018-07-02
    • 2014-02-22
    • 1970-01-01
    • 1970-01-01
    • 2021-12-29
    • 1970-01-01
    相关资源
    最近更新 更多