表单域都在POST空 [英] Form fields are null on POST

查看:96
本文介绍了表单域都在POST空的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有简单的联系形式,这就是(视图)模型:

I have simple contact form, this is the (view)model:

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>
}

控制器的联系方法被调用。但是参数格式的各个领域为空:

推荐答案

您需要公众的 性能 GET >设置在模型中没有的 字段 ,目前你已经创建了Model类领域的,不会为你工作:

You need public properties with get set in your Model not fields,Currently you have created fields in Model class which will not work for you:

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;}
}

这篇关于表单域都在POST空的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆