Asp.net mvc 3 从数据库绑定下拉列表

Asp.net mvc 3 从数据库绑定下拉列表,asp.net-mvc-3,drop-down-menu,Asp.net Mvc 3,Drop Down Menu,我一直在努力创建一个下拉列表,显示数据库中的国家名称。 情况是: 我有一个控制器“AdvertisementController”、一个模型“AdvertisementModel”和一个视图“Create.cshtml”。 在视图中,我需要创建一个下拉列表,显示数据库中的国家名称 我知道创建Viewmodel是件好事。但是我该怎么做呢? 非常感谢您提供一系列代码。:) 我有下面的代码,但它显示“null reference”错误 视图模型: public class Communication

我一直在努力创建一个下拉列表,显示数据库中的国家名称。 情况是: 我有一个控制器“AdvertisementController”、一个模型“AdvertisementModel”和一个视图“Create.cshtml”。 在视图中,我需要创建一个下拉列表,显示数据库中的国家名称

我知道创建Viewmodel是件好事。但是我该怎么做呢? 非常感谢您提供一系列代码。:)

我有下面的代码,但它显示“null reference”错误

视图模型:

 public class CommunicationViewModel
    {

        public string CategoryID { get; set; }
        public IEnumerable<SelectListItem> CategoryList { get; set; }
    }
控制器:

public ActionResult Index()
    {
        var query = db.AddCategory.Select(c => new SelectListItem
                                                 {
                                                     Value = c.ID.ToString(),
                                                     Text = c.Name
                                                 }
                                                 );
        var model = new CommunicationViewModel { CategoryList = query.AsEnumerable() };
        return View(model);
    }
剃刀:

 @Html.DropDownListFor(m=>m.categories.CategoryID,Model.categories.CategoryList,"--Select one--")

这可能对你有帮助。添加用户时角色的下拉列表。非常简单的教程


尝试搜索“mvc下拉列表”。有很多问题和你一样:)为你的好主意干杯。我确实跟踪了你,发现了一些错误。我猜我犯了一些错误。请在页面底部下载。
 @Html.DropDownListFor(m=>m.categories.CategoryID,Model.categories.CategoryList,"--Select one--")