0

我是新的 MVC 3.0 Razor。我正在使用 LINQ 来获取配置文件的详细信息。

在我正在使用的控制器中

  var q = from m in networks.Entities
                    join o in networks.EntityTypes on m.EntityTypeIdFk 
                    where m.Status == 1
                    orderby m.EntityName
                    select new { m.EntityName,m.EntityDescription,o.EntityTypeName };

            ViewBag.EntitiesName = q.ToList();

在查看即时通讯使用

@foreach (var res in ViewBag.EntitiesName)
    {
        <tr>
            <td>@res.EntityName</td>
            <td>@res.EntityDescription</td>
            <td>@res.EntityTypeName</td>
        </tr>
    }

在@res 我得到结果数组。但我仍然收到错误“无法投射类型的对象”

请帮我解决这个问题。

谢谢,萨洛尼

4

2 回答 2

0
public ActionResult SomeAction()
    {
         //ur linq here
        var model = q.ToList();
        return View(model);
    }

在视野中

@model List<MVCSAMPLE.Models.Entities> 
@foreach (var item in Model)
{
    <tr>
        <td>@item.EntityName</td>
        <td>@item.EntityDescription</td>
        <td>@item.EntityTypeName</td>
        <td>@item.IndustryName</td>
        <td>@item.Name</td>
    </tr>
}

举个例子。尝试指定您的列表的类型。另一种方法是在你的模型和视图中增加 List 类型的属性

@model List<MVCSAMPLE.Models.MyModel> 
@foreach (var item in Model.PropertyWhithListType)
{
    <tr>
        <td>@item.EntityName</td>
        <td>@item.EntityDescription</td>
        <td>@item.EntityTypeName</td>
        <td>@item.IndustryName</td>
        <td>@item.Name</td>
    </tr>
}
于 2012-10-25T10:59:25.523 回答
0

我通过使用解决了我的问题

select new MVCSAMPLE.Models.Entities 
{ 
    EntityName = m.EntityName, 
    EntityDescription = m.EntityDescription, 
    EntityTypeName = o.EntityTypeName
}

谢谢大家。

于 2012-10-26T04:16:36.447 回答