У меня проблемы при попытке изменить модель моего представления в MVC 3.
Первое представление ( 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>
Однако, когда я пытаюсь запустить страницу index.cshtml после передачи списка объектов-лягушек я получаю следующую ошибку при переходе к строке @RenderPage:
Ошибка сервера в приложении '/'.Элемент модели, передаваемый в словарь, имеет тип «System.Collections.Generic.List`1 [MyProgram.Frog]», но для этого словаря требуется элемент модели типа «MyProgram.Frog».
Если бы я удалил код из ShowFrogDetails.cshtml и поместил его в строку внутри цикла foreach в index.cshtml , я бы получил ожидаемые результаты.Однако это не использует повторно существующий код.
Можно ли в любом случае изменить модель на один объект Frog для использования в RenderPage?
Cheers!