我有一个项目名为MVC1
我有以下两个类:
public class category
{
public int ID {get;set;}
public string Name {get;set;}
}
public class detail
{
public int Id {get;set;}
public string Name {get;set;}
public int CategoryID{get;set;}
}和2个接口
public inteface ICategory
{
IList<category> ListCategory();
}
public interface IDetail
{
IList<Detail> ListDetail();
}和1从接口ICategory继承的模型RCateory
public IList<Category> FindAllCategory()
{
List<Category> Listcategory_ = new List<Category>();
foreach (var category in Listcategory)
{
Listcategory_.Add(category);
}
return Listcategory_;
}和1从接口IDetail继承的型号名称RDetail
public IList<Detail> FindAllDetail()
{
List<Detail> Listdetail_ = new List<Detail>();
foreach (var detail in Listdetail_)
{
Listdetail_.Add(detail);
}
return Listdetail_;
}和1个控制器
DetailController
private RDetail rDetail = new RDetail();
private RCategory rCategory = new RCategory();
public ActionResult ListDetail()
{
var detail = rdDetail;
return View("CreateDetail");
}和1个视图类型(cshtml) CreateDetail容器
@model MVC1.Detail如何放入@Html.DropDownListFor的类别中
发布于 2013-01-18 20:26:33
与以往一样,在ASP.NET MVC应用程序中,首先要创建一个视图模型类,它将包含视图所需的所有内容:
public class MyViewModel
{
public Detail Detail { get; set; }
public IEnumerable<SelectListItem> Categories { get; set; }
}然后让您的控制器操作填充并将此视图模型传递给视图:
public ActionResult ListDetail()
{
var model = new MyViewModel();
model.Detail = rDetail;
model.Categories = FindAllCategory().Select(x =>
Value = x.ID.ToString(),
Text = x.Name
);
return View("CreateDetail", model);
}最后,您的视图将强类型化为视图模型,您将能够显示下拉菜单:
@model MyViewModel
...
@Html.DropDownListFor(x => x.Detail.CategoryID, Model.Categories)https://stackoverflow.com/questions/14398141
复制相似问题