2011-10-04 47 views
6
更改型號

試圖改變我的觀點的模型MVC 3MVC 3次中有RenderPage

第一視圖(index.cshtml),當我有問題:

@model IEnumerable<MyProgram.MyFrogCollection> 

<h1>Welcome to my frog collection</h1> 
@foreach(MyProgram.Frog frog in Model) 
{ 
    <div class="frogDetails"> 
    @RenderPage("ShowFrogDetails.cshtml", frog); 
    </div> 
} 

第二種觀點(ShowFrogDetails.cshtml),我想所有在現場的使用方法:

@model MyProgram.Frog 

<h3>Name:</h3><div class="detail">@Model.Name</div> 
<h3>Colour:</h3><div class="detail">@Model.Colour</div> 

豪版本,當我嘗試傳遞青蛙對象入門到@RenderPage線的時候,我得到了下面的錯誤列表後運行頁面index.cshtml:在「/」應用

服務器錯誤。傳入 字典的模型項類型爲 'System.Collections.Generic.List`1 [MyProgram.Frog]',但此 字典需要類型爲'MyProgram.Frog'的模型項。

如果我是從ShowFrogDetails.cshtml刪除代碼,並把它放在網上的index.cshtml結果foreach循環中是什麼我期望的那樣。但是,這不會重用現有的代碼。

是否有無論如何我可以將模型更改爲在RenderPage中使用的單個青蛙對象?

乾杯!

回答

7

嘗試這樣的:

<div class="frogDetails"> 
    @Html.Partial("ShowFrogDetails", frog) 
</div> 
+0

真棒,完美地完成這項工作!乾杯! – Gin