2012-05-02 43 views
4

我很掙扎,有點MVC/Razor /實體框架。添加一個家長的ID到隱藏字段

我需要創建一個引用父對象的對象。我在我的模型中有一個名爲ParentID的字段,但我無法弄清楚如何用父母的ID填充它。

我想我需要隱藏字段在我的看法,然後可能將ParentID放在ViewBag中,並將該ViewBag屬性指向隱藏字段,但我似乎無法得到該工作。

這樣的事情,是我的假設:

@Html.Hidden("BladeID", ViewBag.ParentBlade) 

我不知道我已經解釋了自己非常好,所以請你離開,我會擴大。

此外,我不確定我是否以正確的方式進行此操作。這對我來說是非常新的,來自webforms。

回答

9

如果ParentID已經在模型中,爲什麼不直接從那裏填充隱藏字段?

@Html.Hidden("BladeID", Model.ParentID) 

如果你真的想從ViewBag填充它,你將有TOT將它轉換回int(假設這是的ParentID類型),因爲ViewBagdynamic類型:

@Html.Hidden("BladeID", (int)ViewBag.ParentBlade) 



更新基於意見

如果你的鑑於取決於你總是可以選擇創建自定義該視圖視圖模型,喜歡的東西兩個(或多個)不同的模型類:

public class ParentChildViewModel 
{ 
    public Blade Parent { get; set; } 
    public Blade Child { get; set; } 
} 

,然後使用這個類作爲您的視圖模型:

@model ParentChildViewModel 
// more view code here 
@Html.Hidden("BladeID", Model.Child.ParentID) 

這就是說,在我看來,在這種情況下使用ViewBag沒有任何問題,特別是如果您只需要一個屬性。

+0

它不在模型中。我有兩個獨立的模型。一個用於父類型,另一個用於子類型。有沒有更正確的方法,然後使用ViewBag? – Nicolai

+0

@Nicolai - 我已經更新了我的回答,以反映您評論中的問題。希望這可以幫助 –

相關問題