C# 如何在View()中设置两个值

C# 如何在View()中设置两个值,c#,asp.net,linq,asp.net-mvc-4,C#,Asp.net,Linq,Asp.net Mvc 4,如何在视图中设置多个对象 public ActionResult Index() { var shops = this.context.shops.Select(q => new { q.id, q.name }).ToList(); var bikes = this.context.bikes.Select(q => new { q.id, q.name }).ToList(); return View(shops, bikes);

如何在视图中设置多个对象

public ActionResult Index()
{            
    var shops = this.context.shops.Select(q => new { q.id, q.name }).ToList();
    var bikes = this.context.bikes.Select(q => new { q.id, q.name }).ToList();
    return View(shops, bikes); // How to set two values in View()?
}
并在视图中解析()

@foreach(Model.bikes中的var r)
{
@r、 名字
}

您的模型类应包含商店和自行车的属性。也就是说,如果使用强类型视图,它看起来是这样的。否则,您可以将内容添加到ViewBag以在视图中使用。

一种方法是创建一个包含商店和自行车的强类型视图模型。另一个选项可以是创建一个元组并作为模型传递给视图。我会选择第一个

元组
var tuple=new tuple(new shop(),new bike());
在你看来

@Model Tuple<shop,bike>
@模型元组

您需要创建ViewModel

   public class shopsAndbikes 
    {
     public List<shop> shops {get;set;}
     public List<bike> bikes {get;set;}

    }

    public ActionResult Index()
    {             
       shopsAndbikes vm = new shopsAndbikes ()
       {
        var shops = this.context.shops.Select(q => new { q.id, q.name }).ToList();
        var bikes = this.context.bikes.Select(q => new { q.id, q.name }).ToList();
       }
      return View(vm);    
    }
public-classshopsandbike
{
公共列表商店{get;set;}
公共列表{get;set;}
}
公共行动结果索引()
{             
shopsAndbikes vm=新shopsAndbikes()
{
var shops=this.context.shops.Select(q=>new{q.id,q.name}).ToList();
var bikes=this.context.bikes.Select(q=>new{q.id,q.name}).ToList();
}
返回视图(vm);
}
视图:

@model shopsAndbikes
@foreach(Model.bikes中的var r)
{
@r、 名字
}
@foreach(模型车间中的var r)
{
@r、 名字
}

对象
不包含
商店的定义
请确保不要忘记,谢谢,你帮了我大忙
@Model Tuple<shop,bike>
   public class shopsAndbikes 
    {
     public List<shop> shops {get;set;}
     public List<bike> bikes {get;set;}

    }

    public ActionResult Index()
    {             
       shopsAndbikes vm = new shopsAndbikes ()
       {
        var shops = this.context.shops.Select(q => new { q.id, q.name }).ToList();
        var bikes = this.context.bikes.Select(q => new { q.id, q.name }).ToList();
       }
      return View(vm);    
    }
@model shopsAndbikes 

@foreach (var r in Model.bikes)
{
    <b>@r.name</b>
}

@foreach (var r in Model.shops)
{
    <b>@r.name</b>
}