c# - mvc3 如何在 Razor 上读取通过连接两个表创建的列表?

标签 c# asp.net-mvc asp.net-mvc-3 razor

我有这个 mvc3 项目,我正在学习,在这里我从同一个数据库连接 2 个表,但我不知道如何将它返回到 View ,在 View 上我不知道如何阅读它。

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 具有匿名类型。虽然您可以将其传递到 View 中,但您不能在 View 中为模型指定强类型。

如果您需要强类型,请创建一个包含您的属性的辅助对象,例如

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

和使用

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

然后在 View 中指定

@model IEnumerable<MyHelper> 

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

关于c# - mvc3 如何在 Razor 上读取通过连接两个表创建的列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13366893/

相关文章:

asp.net - 中止一个 asp.net 请求而不向客户端发送任何响应

asp.net-mvc-3 - ASP.NET MVC 3 限制 API 访问

c# - 如何实现模型以强制客户端至少填写 ASP.NET MVC 中的两个输入之一

c# - 只读属性网格

c# - 如何从同一应用程序的两个实例安全地写入日志文件?

c# - 是否可以设置跨多个 ASP.NET MVC 项目使用的基础项目?

asp.net-mvc - 存储库模式和 IQueryable<T> 的性能

c# - 在哪里可以找到 MSDN 库图标的含义?

c# - 递增数组中的值

c# - ASP.NET 中的 HostingEnvironment.QueueBackgroundWorkItem() 用于小型后台任务