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>
}