2011-02-08 109 views
0

場景:MVC3層次結構並傳遞父值

模型:EntityA有0:很多EntityB有0:很多EntityC。所以這是一個三層次的層次結構。 EntityB持有對EntityA的引用(通過將EntityA_ID作爲EntityB的屬性)並且EntityC持有對EntityB的引用(通過將EntityB_ID作爲EntityC的屬性)。

我有一個EntityA的控制器,EntityB的控制器和EntityC的控制器。 EntityB和EntityC通過在EntityA詳細視圖上呈現的部分視圖顯示。

我有以下問題: 當我創建EntityC的新實例後,我希望它重定向到EntityA的詳細信息頁面。但是我不能因爲我在EntityC的控制器中沒有EntityA的ID,我只有EntityB ID。我如何以某種方式冒泡到EntityA的Detail視圖中結束,或者如何將EntityA的ID傳遞到創建EntityC。

我想我可以這樣做來引入EntityA_ID也作爲EntityC的屬性。但從數據模型的角度來看,這是沒有道理的。有沒有解決這個問題的另一種方法?

+0

這是EF嗎?你不能只是`entityA.EntityB.EntityC.Id`嗎? – bzlm 2011-02-08 22:05:35

回答

0

我解決了它。我想我應該使用控制器,因爲它應該是。在重定向之前,我查詢EntityB(我擁有該ID)以檢索EntityA的ID。然後將此ID傳遞給實體A的詳細視圖。

如果有更好的方法可用,我仍在尋找它。