類型不同我有兩種型號:提交模型來動作即從視圖模型的
public class PersonViewModel
{
public int Id { get; set; }
public string Name { get; set; }
public string Title { get; set; }
}
public class DetailViewModel
{
public IEnumerable<string> Titles { get; set; }
public PersonViewModel Person { get; set; }
}
的形式呈現兩個字段,所述第一字段是所述Name
,第二場是的一個下拉Titles
(先生,夫人小姐。等)
此頁的視圖是強類型到DetailViewModel
,並且在控制器的Save
方法接受PersonViewModel
類型的參數。
由於視圖強制類型爲不同與action的參數類型不同,因此HttpRequest中的名稱與MVC在操作中所期望的名稱不匹配。
是否有可能讓MVC正確綁定模型不匹配沒有不得不手動指定表單字段名稱? (如:我還是想用@Html.TextBoxFor(m => m.Person.Name)
)
爲了澄清,正在提交的表單字段名稱類似於以下內容:
Person.Name =馬修& Person.Title =先生。
,我需要以下(爲模型綁定工作):
名稱=馬修&標題=先生。
廣東話您保存方法接受一個'DetailViewModel'? – Shoe 2014-11-21 21:25:47
我可以,但是當我必須進行驗證時,事情開始變得混亂。實際發佈的數據是'Person'內的所有內容,沒有別的。 – Matthew 2014-11-21 21:31:42