2015-03-03 33 views
-1

我有簡單的接觸形式,這是(視圖)模型:表單字段爲空的POST

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

控制器的聯繫方法被調用。但PARAM form擁有所有字段爲空:

enter image description here

+0

可能的重複[模型包含空字段時回發](http://stackoverflow.com/questions/16600224/model-contains-null-fields-when-posting-back) – Shoe 2015-03-03 17:04:44

回答

5

您需要的公共propertiesgetset在模型中不fields,在Model類目前已創建的領域,這將不會爲你工作:

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