2011-06-20 97 views
0

我剛開始使用MVC 2,我有幾個疑問,可能你們可以幫我清除我的困惑。MVC2相關的一些混淆/查詢

爲什麼mvc不允許在視圖頁面上繼承多個模型。 例如,如果我繼承了我的視圖中的帳戶模型,爲什麼我不能在該視圖中使用帳戶模型超出相關的實體屬性,我們只允許使用該模型的屬性,如<%: Model.FirstName :%>其中First name是帳戶模型的屬性。爲什麼我們不能使用<%:Model.account.aspnet_users.vehicle.make %>其中aspnet_users通過外鍵與帳號關聯,反之亦然。 MVC 2只允許<%:Model.account.aspnet_users.vehicle %>因此,我不能使用車輛的相關屬性,在這種情況下是vehicle.make。我正在考慮做類似<%: Html.TextboxFor(model => model.account.aspnet_users.vehicle.make %>的事情。

回答

1

ASP.NET MVC不限制導航到相關屬性。如果您無法訪問屬性是指:

  • 沒有加載的關係(它爲空),並延遲加載關閉/情境佈置
  • 的關係實際上是一個集合的,你必須使用Linq在集合中導航
+0

它的一個集合,我們不能使用集合而不使用foreach –

+0

這是因爲我有兩個模型之間的一對多關係? –

+0

是的,如果你有一對多的關係,你的模型將包含相關模型的集合 –