這個對我來說似乎很痛苦,但由於某種原因,我無法按照我希望的方式工作。也許這是不可能的,但這似乎不大可能。這個問題可能有點相關:ASP.NET MVC Model Binding Related Entities on Same Page。ASP.NET MVC - 綁定一個子實體到模型
我有一個EditorTemplate編輯具有多個相關實體引用的實體。當呈現編輯器時,用戶被賦予下拉列表以從中選擇相關實體,並且下拉列表返回ID作爲其值。
<%=Html.DropDownListFor(m => m.Entity.ID, ...)%>
當發送請求的形式值命名爲預期:「Entity.ID」,但定義爲動作參數我強類型的模型沒有Entity.ID填充在傳遞的值請求。
public ActionResult AddEntity(EntityWithChildEntities entityWithChildEntities) { }
我試圖用bind()的屬性擺弄周圍並在entityWithChildEntities指定Bind(Include = "Entity.ID")
,但似乎並沒有工作。我也試過Bind(Include = "Entity")
,但是導致ModelBinder試圖綁定一個完整的「實體」定義(並不奇怪)。
有沒有什麼辦法讓默認的模型綁定,以填補子實體ID或我將需要添加動作參數爲每個孩子實體的ID,然後將值手動複製到模型中定義?
是否'實體'屬性有任何訪問修飾符,除'公共'?喜歡這個; '公民HomeTestModelChild兒童{get;內部設置; }' – cem 2010-06-02 13:09:12
不,先生,這一切都是公開的。 – 2010-06-02 16:54:58