我一直在努力創建一個下拉列表,它將顯示來自數據庫的國家名稱。 的情況是: 我有一個控制器「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