我有一个mvc3项目,我正在学习实际上,这里我加入了来自同一个数据库的两个表,但我不知道如何将它返回到视图,在视图上我也不知道如何读取它。

public ActionResult Index()
    {
        ViewBag.Message = "List of Domain Names already crawlered";
        domainNamesEntities de = new domainNamesEntities();

        var datos = from nombres in de.tableDomNames
                    join titulos in de.tableTitleNames on nombres.domName equals titulos.domName
                    select new { Dominio = nombres.domName, Titulo = titulos.titleN };

        return View(datos.ToList());
    }

我的问题是:
       @model ???????????????
       @{
             ViewBag.Title = "Index";
        }

        <h2>Index</h2>

      @foreach (var item in collection???????)
{

}

有什么想法吗?
谢谢!

最佳答案

变量datos具有匿名类型。虽然可以将其传递到视图中,但不能在视图中为模型指定强类型。
如果需要强类型,请创建包含属性的辅助对象,例如

public class MyHelper
{
    public string Dominio { get; set; }
    public string Titulo { get; set; }
}

使用
select new MyHelper { Dominio = nombres.domName, Titulo = titulos.titleN };

然后在视图中指定
@model IEnumerable<MyHelper>

@foreach (var item in Model) // or MyHelper item in Model

09-25 12:45