使用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。

提前感谢您的任何信息!

使用MVC 5 Scaffolding自动生成下拉列表

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