2009-11-08 57 views
2

我得到了繼承的觀點:System.Web.Mvc.ViewPage<IEnumerable<MyProjects.Models.MyAccountWrapper>>Asp.Net MVC的RenderPartial不同型號

在這個視圖列出有關對象MyAccountWrapper數據。該對象包含一個Account的列表。像這樣MyAccountWrapper.Accounts

我想在這個視圖中能夠創建一個帳戶。

所以我儘量<% Html.RenderPartial("../Account/Create"); %>

但我得到了錯誤的並不是很好的模式。我該如何處理?

回答

5

嘗試在調用RenderPartial時將適當的模型作爲第二個參數傳遞。

+0

你有沒有一個例子或你建議的鏈接? – Melursus 2009-11-08 14:19:23

+0

RenderPartial有一個重載,允許您將模型作爲第二個參數傳遞。它應該顯示在你的智能感知中。 – 2009-11-08 18:05:52

+1

Html.RenderPartial(「../ Account/Create」,(IEnumerable )ViewData [「Accounts」]);您通過ViewData將MyAccountWrapper傳遞到視圖的位置 – 2009-11-08 19:11:00

1

我建議你創建一個新的控制器和視圖,對應於"../Account/Create"。這將該操作的URL綁定到特定視圖。用戶會認爲這是一個獨立而獨特的行爲,事實上這是行爲。如果您願意,您可以使用技術將它們返回到他們所在的位置。

換句話說,你需要一個全新的網頁。

+0

+1 @Melursus,這是首選的方法,基本上是一個MVC項目的工作原理。問題的分離是MVC網站的一個重要因素。您可以通過使用「部分視圖」避免頁面膨脹,並在不同的操作中共享它們。 – griegs 2009-11-08 02:13:56

+0

問題是我不能這樣做,因爲它在規範中。設計師按照我所描述的設計頁面,我別無選擇。 – Melursus 2009-11-08 14:20:32

相關問題