我知道類似的問題已經被問關於複雜的模型在ASP.NET MVC約束力,但我有一個問題,因爲缺乏足夠的前綴回來結合在POST上,並想知道是否有一個簡單的解決方案。ASP.NET MVC綁定到視圖模型以及路由值
我有一個看起來像這樣一個觀點型號:
public class ViewModel<Survey, Contact>
{
public Survey Model { get; set; }
public Contact Model2 { get; set; }
}
然後我有一個動作方法,像這樣接受張貼
public ActionResult Survey(
string id, string id2, SurveyViewModel<Survey, Contact> model)
{
// code goes here...
}
在我的形式,前兩個ID是從URL路由,然後我有表單代碼(使用@Html.EditorFor(x => x.Model.SurveyName)
或類似的),用這樣的名字生成:
<input class="text-box single-line" id="Model_Email"
name="Model.Email" type="text" value="" />
一個帖子作品,如果我改名字從Model.Email
到model.Model.Email
,但我想,以避免創建自定義模型粘合劑。
有
- 的設置,我可以在更改名稱在使用
@Html.EditorFor
類型的視圖助手視圖呈現各領域的看法做什麼呢? - 我可以改變使用綁定屬性的動作,將允許它默認綁定到該對象?
答案可能是「建立一個自定義聯編程序」,但我只是想在提出這個問題之前提出這個問題。
感謝您的幫助。最好的問候,
哈爾
你試圖改變你的'Model'屬性的名稱?當模型具有名爲Model的屬性時,模型聯編程序會感到困惑。 – jrummell
同樣,你有沒有嘗試在你的動作中重命名模型參數? – rossisdead