Могу ли я не визуализировать строго типизированный партиал в строго типизированном представлении?
Я получаю следующую ошибку, когда пытаюсь:
Элемент модели, переданный в словарь, имеет тип System.Data.Linq.Table
1[UI.Models.vwProject]', but this dictionary requires a model item of type 'System.Collections.Generic.IEnumerable
1 [UI.Models.ProjectStatus].
Я заполняю оба представления, используя ViewData.Model
public ActionResult Index()
{
ViewData.Model = project.vw_Projects;
return View();
}
public ActionResult ProjectStatus()
{
ViewData.Model = project.ProjectStatus;
return View();
}
Вот мой взгляд:
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<IEnumerable<UI.Models.vwProject>>" %>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
<div>
<table>
<tr>
<th>
Project
</th>
<th>
Hours
</th>
</tr>
<tr>
<td>
<%= Html.Encode(item.ProjectCode) %>
</td>
<td>
<%= Html.Encode(item.ProjectHours) %>
</td>
</tr>
<div>
<% Html.RenderPartial("ProjectStatus"); %>
</div>
</asp:Content>
Вот мое частичное:
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<IEnumerable<UI.Models.ProjectStatus>>" %>
<table>
<tr>
<th>
Code
</th>
<th>
Status
</th>
</tr>
<% foreach (var item in Model) { %>
<tr>
<td>
<%= Html.Encode(item.ProjectCode) %>
</td>
<td>
<%= Html.Encode(item.ProjectStatus) %>
</td>
</tr>
<% } %>
</table>
Я немного смущен тем, как отображать строго типизированные / динамические частичные данные в строго типизированных или динамических представлениях. Может ли кто-нибудь помочь мне решить эту проблему?
RenderPartial
? Если вы этого не сделаете, он получит модель из вызывающего представления. - person TLS   schedule 09.10.2012