首先,我一直在寻找这方面的答案并提出解决方案,但不能与我自动生成下拉列表的确切问题相匹配(只是如何自己制作一个)。
所以,问题是。我喜欢在Visual Studio中使用scaffolding选项,因为它设置了一个具有完整CRUD的控制器和满足我需求的视图。
然而,我只是遇到了一个我希望有一个下拉列表的情况。这是脚手架可以创造的东西吗?或者它实际上是我必须自己做的事情?
例如我有这个模型:
public class School
{
public int SchoolID { get; set; }
[Required(ErrorMessage = "A value has to be entered.")]
[StringLength(200)]
public string Name { get; set; }
[Required(ErrorMessage = "A value has to be entered.")]
[StringLength(200)]
public string MailPrefix { get; set; }
public int CountryID { get; set; }
public virtual List<Country> Country { get; set; }
}
所以我想在这里弄清楚需要做些什么才能使Visual Studio意识到我想创建一个Dropdownlist,这样就可以选择country,然后将countryId保存到数据库中。
我应该指出,我也在Visual Studio中使用Entity Framework和脚手架选项。
非常感谢您提供任何信息!
答案 0 :(得分:1)
public List<SelectListItem> CountryListItems {get; set;}
public int CountryId {get; set;}
在模型
中使用上面的内容 Model.CountryListItems= new List<SelectListItem>();
CountryListItems.Add(new SelectListItem
{
Text = "Albania",
Value = "1"
});
CountryListItems.Add(new SelectListItem
{
Text = "Bangladesh",
Value = "2",
Selected = true
});
CountryListItems.Add(new SelectListItem
{
Text = "Canada",
Value = "3"
});
上面的代码可以在控制器或其他生成器模型类中使用。
@Html.DropDownListFor(model => model.CountryId, model.CountryListItems, "-- Select Status --")
在“视图”中,使用上面的块。