如何在单个mvc3视图中添加两个表?

时间:2013-05-23 11:52:12

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

在我的mvc3项目中,我想在一个视图中添加两个表。我像这样添加两个表

@model IEnumerable<TheRanger.Models.LocalMatch>
@model IEnumerable<TheRanger.Models.Counter>

Localmatch和counter是我的表名。它显示错误。

这是我的编码

@using System;
@using System.Data;
@using System.Linq;
@using TheRanger.Models;
@using TheRanger.Class;
@using TheRanger.Controllers;
@{
    TheRanger.Controllers.BaseController bc = new TheRanger.Controllers.BaseController();
    string ClassifiedsFolder = System.Web.Configuration.WebConfigurationManager.AppSettings["ClassifiedsFolder"];  
}
@{
    ViewBag.Title = "Index";
    Layout = "~/Views/Shared/_Layout.cshtml";
}


@model IEnumerable<TheRanger.Models.LocalMatch>

如何在一个视图中定义两个表。任何想法?

2 个答案:

答案 0 :(得分:5)

创建一个包含两个列表的模型类,然后将该模型类用于视图模型。

例如:

public class ViewModel
{
  public List<TheRanger.Models.LocalMatch> List1 { get; set; }
  public List<TheRanger.Models.Counter> List2 { get; set; }
}

在您的控制器中,您可以创建此新模型类的实例并填充两个列表属性。

然后在你看来:

@model MyApplication.Models.ViewModel

@foreach (var item in Model.List1)
{
}

@foreach (var item in Model.List2)
{
}

答案 1 :(得分:0)

您可以在ViewBag中放置其中一个列表

ViewBag.List2 = List2;

@foreach (var item in ViewBag.List2)
{
}