如何向我的MVC3应用程序添加下拉列表

时间:2012-05-04 23:15:34

标签: c# asp.net entity-framework-4.1 ef-code-first

HELP: 我想首先使用代码和c#向我的MVC3应用程序添加一个下拉列表。 我有2个表学生和大学,我需要在学生的创建视图中放置一个动态的大学列表。 如何以及在何处将methode添加到我的控制器中。 有人请帮助我 感谢

3 个答案:

答案 0 :(得分:0)

我猜你正在降票,因为你可以直接用Google搜索并轻松找到答案。无论如何,这里有一个让你入门的链接。

http://www.mikesdotnetting.com/Article/128/Get-The-Drop-On-ASP.NET-MVC-DropDownLists

答案 1 :(得分:0)

基本思路是将下拉列表作为发送到视图的类的属性传递。 所以像这样:

public Student
{
public List<University> Universities({//get list from database in getter

然后在视图中使用类似

的内容
@Html.DropDownListFor(model => model.StudentsSchool, Model.Universities)

答案 2 :(得分:0)

首先为您的下拉列表创建实体类。它将返回值列表

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 --")