綁定列表這裏是我的情況:如何<SimpleObject>在MVC
public class ComplexObject
{
public int SomeProperty {get;set;}
public List<SimpleObject> Object {get;set;}
}
public class SimpleObject
{
public string FirstName {get;set;}
public string LastName {get;set;}
}
我創建了一個強類型的SimpleObject
@model SimpleObject
<div>
<input type="button" value="Button" name="btn" />
<div>
<div>
@Html.TextBoxFor(Model => Model.FirstName, new { @class = "", @maxlength = "50" })
</div>
<div>
@Html.TextBoxFor(Model => Model.LastName, new { @class = "", @maxlength = "50" })
</div>
局部視圖現在我想渲染內另一這個局部視圖查看(MainView)。這個想法是,用戶可以單擊SimpleObject局部視圖按鈕,並在MainView上再次生成相同的局部視圖。因此,這裏是它的外觀:
MainView
SimpleView -> Add
SimpleView -> Add
我可以創建一個Ajax動作並生成簡單的查看和追加它MAINVIEW但問題是,simpleobject不結合的把complexObject。
這是我在MainView中渲染partialview的方式。
@Html.Partial("_PartialView", Model.SimpleObject, new ViewDataDictionary(ViewData)
{
TemplateInfo = new System.Web.Mvc.TemplateInfo
{
HtmlFieldPrefix = "Simple"
}
})
的的MainView呼籲提交點擊整個ComplexObject
提交一個控制器動作。這裏我的SimpleObject
列表總是NULL。
public ActionResult CreateComplex(ComplexObject object)
{
// HERE LIST<SIMPLEOBJECT> is always NULL
}
任何想法我在這裏做錯了什麼?
自身一個'partial'不會起作用,因爲你不添加索引到'名稱「屬性。請參閱[這個答案](http://stackoverflow.com/questions/28019793/submit-same-partial-view-called-multiple-times-data-to-controller/28081308#28081308)的一些選項 –