我有一个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