【问题标题】:Automatic generation of dropdownlist using MVC 5 Scaffolding [duplicate]使用 MVC 5 Scaffolding 自动生成下拉列表
【发布时间】:2016-08-18 16:40:30
【问题描述】:

首先,我一直在为此寻找答案并提出解决方案,但与我关于自动生成下拉列表的确切问题不匹配(只是如何自己制作)。

所以,问题是。我喜欢在 Visual Studio 中使用脚手架选项,因为它设置了一个具有完整 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 中使用实体框架和脚手架选项。

非常感谢您提供任何信息!

【问题讨论】:

    标签: c# asp.net entity-framework asp.net-mvc-5


    【解决方案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 --")
    

    在视图中,使用上面的块。

    进一步调查:DropDownList in MVC 4 with Razor

    【讨论】:

    • 非常感谢您花时间回答我的问题!另一位用户指出,这个问题与另一个问题几乎相同,所以我将其标记为答案。我很抱歉显然搜索不够好!再次感谢!
    • 没问题。我看到了。您无需将此标记为答案或投票。我只是想,我可以在这里回答这个问题。 :) 有美好的一天
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多