使用MVC 5 Scaffolding自动生成下拉列表
本文关键字:自动生成 下拉列表 Scaffolding MVC 使用 | 更新日期: 2023-09-27 18:02:55
首先,我一直在寻找这个问题的答案,并提出了解决方案,但没有匹配我关于自动生成下拉列表的确切问题(只是如何自己制作一个)。
问题是。我喜欢使用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意识到我想要创建一个下拉列表,使它可以选择国家,然后将countryId保存到数据库。
我应该指出的是,我也使用实体框架和脚手架选项在Visual Studio。
提前感谢您的任何信息!
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 --")
在View中,使用上面的块。
进一步研究:MVC 4中的下拉列表与Razor