我一直在努力创建一个下拉列表,它将显示来自数据库的国家名称。 的情况是: 我有一个控制器“AdvertisementController”,模型“AdvertisementModel”和视图“Create.cshtml”。 在视图中,我需要创建一个下拉列表,它将显示来自数据库的国家名称。从数据库绑定下拉列表
我知道创建Viewmodel的好处是。但我该怎么做? 一堆代码将不胜感激。 :)
我有以下代码,但它显示'空引用'错误。
视图模型:
public class CommunicationViewModel
{
public string CategoryID { get; set; }
public IEnumerable<SelectListItem> CategoryList { get; set; }
}
型号:
public class CreateAdModel
{
[Required]
[Display(Name = "Title")]
public string Title { get; set; }
[Required]
[Display(Name = "Description")]
[DataType(DataType.MultilineText)]
public string Message { get; set; }
[Required]
[Display(Name = "Ad type")]
public string AdType { get; set; }
[Required]
[Display(Name = "Ad category")]
public string AdCategory { get; set; }
public CommunicationViewModel categories { 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”。像你的问题吨:) :) –
干杯卡斯珀你的精彩想法.. :)。我确实跟着你,发现一些错误。猜猜我在做一些错误.. – kandroid