2011-10-04 26 views
6
ile Görüntüleme Modeli Değişen MVC 3.

MVC 3 RenderPage

Birinci görüş (index.cshtml) Bence modelini değiştirmeye çalışırken sorunlar yaşıyorum

:

@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> 
} 

@model MyProgram.Frog 

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

Howe: Ben sitenin her yerinde kullanmak istiyorum İkinci görüş (ShowFrogDetails.cshtml), ver ben @RenderPage hattına alırken aşağıdaki hatayı alıyorum kurbağa nesneler listesinde geçtikten sonra index.cshtml sayfa çalıştırmayı denediğinizde:

Sunucu hatası '/' Uygulamasında. sözlüğüne geçilen model öğesi, 'System.Collections.Generic.List`1 [MyProgram.Frog]' türündendir, ancak bu sözlüğünde 'MyProgram.Frog' türünde bir model öğesi gerekir. Ben ShowFrogDetails.cshtml kodu kaldırmalısınız ve index.cshtml sonuçların foreach döngüsünde içinde in-line yerleştirmek için olsaydı

ne beklenir bulunmaktadır. Ancak bu mevcut kodu tekrar kullanmaz.

Yine de modeli RenderPage'de kullanmak üzere tek bir Frog nesnesine değiştirebilir miyim?

Şerefe! Böyle

cevap

7

Dene:

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

Müthiş, iş mükemmel yapar! Şerefe! – Gin