【发布时间】:2012-05-14 11:54:55
【问题描述】:
帮助: 我想先使用代码和 c# 向我的 MVC3 应用程序添加一个下拉列表。 我有 2 表学生和大学,我需要将大学的动态列表放在学生的创建视图中。 应该如何以及在何处将方法添加到我的控制器。 请有人帮帮我 谢谢
【问题讨论】:
标签: c# asp.net entity-framework-4.1 ef-code-first
帮助: 我想先使用代码和 c# 向我的 MVC3 应用程序添加一个下拉列表。 我有 2 表学生和大学,我需要将大学的动态列表放在学生的创建视图中。 应该如何以及在何处将方法添加到我的控制器。 请有人帮帮我 谢谢
【问题讨论】:
标签: c# asp.net entity-framework-4.1 ef-code-first
我猜你的票数下降了,因为你可以用谷歌搜索一下,很容易找到答案。无论如何,这里有一个链接可以帮助您入门。
http://www.mikesdotnetting.com/Article/128/Get-The-Drop-On-ASP.NET-MVC-DropDownLists
【讨论】:
基本思想是将下拉列表作为发送到视图的类的属性传递。 所以是这样的:
public Student
{
public List<University> Universities({//get list from database in getter
然后在视图中使用类似的东西
@Html.DropDownListFor(model => model.StudentsSchool, Model.Universities)
【讨论】:
首先为您的下拉菜单创建实体类。它将返回一个值列表
public class KeyValueEntity
{
public string Description { get; set; }
public string Value { get; set; }
}
public class MyViewModel
{
public List<KeyValueEntity> Status { get; set; }
}
在你的控制器上写下以下代码
[HttpGet]
public ActionResult Dropdown()
{
MyViewModel model = GetDefaultModel();
return View(model);
}
}
public MyViewModel GetDefaultModel()
{
var entity = new MyViewModel();
entity.Status = GetMyDropdownValues();
return entity;
}
private List<KeyValueEntity> GetMyDropdownValues()
{
return new List<KeyValueEntity>
{
new KeyValueEntity { Description = "Yes" , Value ="1" },
new KeyValueEntity { Description = "No" , Value ="0"}
};
}
您的 cshtml 页面的代码: 现在,您需要在定义模型类的视图之上将视图与模型绑定
@model MyViewModel
Following is the code for dropdown binding
@Html.LabelForModel("Status:")
@Html.DropDownListFor(m => m.Status, new SelectList(Model.Status, "Value", "Description"), "-- Please Select --")
【讨论】: