不是强类型视图问题

时间:2010-04-26 18:14:40

标签: c# asp.net asp.net-mvc linq

控制器操作:

public ActionResult Index()
    {
        probaEntities proba = new probaEntities();
        probaEntities proba1 = new probaEntities();
        probaEntities proba2 = new probaEntities();

        var query = from i in proba.name
                   from j in proba1.id_person
                   from k in proba2.last_name
                   select new
                   {
                       i.ime,
                       j.id,
                       k.prezime
                   };
        return View(query);
    }

查看页面:

   
<table>
       <tr>

        <th>
            ime
        </th>
         <th>
            broj
        </th>
         <th>
            prezime
        </th>
    </tr>

<% foreach (var item in Model) { %>

    <tr>

        <td>
            <%= Html.Encode(item.name) %>
        </td>
        <td>
            <%= Html.Encode(item.id_person)%>
        </td>
        <td>
            <%= Html.Encode(item.last_name)%>
        </td>
    </tr>

<% } %>

</table>

在Inherits =“???”中写什么?此视图不是强类型的,因为我从3个表中向他发布数据。我是否必须为此视图制作一个特殊模型是否有更短的解决方案?

2 个答案:

答案 0 :(得分:1)

您可以使用

<%@ Page Title="" Language="C#" Inherits="System.Web.Mvc.ViewPage" %>

答案 1 :(得分:1)

除非要实现System.Web.Mvc.ViewPage&lt; dynamic&gt;,否则不能将匿名类型作为泛型类型参数传递。 - 然后编写您的视图以期望最佳。 (还要求你使用.NET 4!)

创建强类型视图模型可能是您最好的选择。