MVC 5返回多个表到索引操作结果
本文关键字:索引 操作 结果 返回 MVC | 更新日期: 2023-09-27 18:11:06
我有一个问题,我需要返回多个表到一个视图。到目前为止,我的索引操作结果只获得一个表,但这需要修改。
下面是控制器的代码:public class ResidentialBuildingController : Controller
{
private BIRDSResidentialEntities db = new BIRDSResidentialEntities();
// GET: ResidentialBuilding
public ActionResult Index()
{
return View(db.ResidentialBuildings.ToList());
//return View();
}
到目前为止,它只返回db.ResidentialBuildings。我还需要它返回db。ResidentialLocations和其他表。请一定让我知道。
以下是residentialbuilding视图的代码:
@model BIRDS.ViewModel.BuildingViewModel
@{
ViewBag.Title = "ResidentialBuilding";
}
<div class="row">
<div class="col-md-3">
@Html.DropDownList("ResidentialBuildingType", new SelectList(Model.Select(x => x.type).Distinct()), "Select Building Type")
</div>
<div class="col-md-3">
<select id="ResidentialBuildingStories" name="ResidentialBuildingStories"></select>
</div>
<div class="col-md-3">
<select id="ResidentialBuildingSize" name="ResidentialBuildingSize"></select>
</div>
<div class="col-md-offset-2 col-md-1">
<button type="button" class="btn btn-default btn-round" id="info" data-toggle="tooltip" data-placement="top" title="Click for more info">
<span class="glyphicon glyphicon-info-sign"></span>
</button>
</div>
</div>
<div class="row" id="bldgInfo">
<div class="col-md-2" id="titles">
</div>
<div class="col-md-2" id="values">
</div>
</div>
ViewModel的代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using BIRDS.Models;
namespace BIRDS.ViewModel
{
public class BuildingViewModel
{
public List<ResidentialBuilding> ResidentialBuildings { get; set; }
public List<ResidentialLocation> ResidentialLocations { get; set; }
}
}
BuildingViewModel位于名为ViewModel
您需要创建ViewModel:
public Class BuildingViewModel
{
public List<ResidentialBuilding> ResidentialBuildings {get;set;}
public List<ResidentialLocation> ResidentialLocations {get;set;}
}
和现在的控制器:
public class ResidentialBuildingController : Controller
{
private BIRDSResidentialEntities db = new BIRDSResidentialEntities();
// GET: ResidentialBuilding
public ActionResult Index()
{
BuildingViewModel model = new BuildingViewModel();
model.ResidentialBuildings = db.ResidentialBuildings.ToList();
model.ResidentialLocations = db.ResidentialLocations.ToList();
return View(model);
}
}
并使用以下视图模型强类型地键入视图:
@model YourNameSpace.ViewModels.BuildingViewModel
有关详细信息,请参考以下链接:
http://blogs.msdn.com/b/simonince/archive/2010/01/26/view-models-in-asp-net-mvc.aspx http://www.dotnet-tricks.com/Tutorial/mvc/QHQT270712-Understanding-ViewModel-in-ASP.NET-MVC.html http://sampathloku.blogspot.com/2012/10/how-to-use-viewmodel-with-aspnet-mvc.html http://www.edandersen.com/2013/05/30/asp-net-mvc-basics-part-2-viewmodel-to-model-mapping-and-editing/