MVC5视图下拉列表

use*_*648 2 c# asp.net-mvc-views html.dropdownlistfor asp.net-mvc-5

在C#MVC5 Internet应用程序视图中,如何显示下拉列表以供用户选择从列表中填充的View Model列表项?

这是ViewModel代码:

public class MapLocationItemViewModel
{
    [Editable(false)]
    public int mapLocationForeignKeyId { get; set; }
    public List<string> mapLocationItemTypes { get; set; }
    public MapLocationItem mapLocationItem { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

这是我目前拥有的代码View:

<div class="form-group">
    @Html.LabelFor(model => model.mapLocationItem.mapLocationItemType, new { @class = "control-label col-md-2" })
    <div class="col-md-10">
        @Html.EditorFor(model => model.mapLocationItemTypes)
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

mapLocationItemTypes当前的每个项目都显示为a class="text-box single-line valid".

是否有一个MVC View标签,它将显示一个从a list<string>array?填充的列表?

我试过以下代码:

@Html.DropDownListFor(model => model.mapLocationItemTypes)
Run Code Online (Sandbox Code Playgroud)

但是,我收到编译错误,并且不确定重载方法的值.

如何在视图中显示列表的最佳方式,以便用户可以从列表中选择列表项?

提前致谢

Kar*_*sla 19

型号:

 public List<SelectListItem> mapLocationItemTypes { get; set; }
 public int mapLocationItemVal { get; set; }
Run Code Online (Sandbox Code Playgroud)

视图:

@Html.DropDownListFor(m => m.mapLocationItemVal , new SelectList(Model.mapLocationItemTypes , "Value", "Text"), "  -----Select List-----  ")
Run Code Online (Sandbox Code Playgroud)

在上面的示例中,DropDownListFor()ie 的第3个参数" -----Select List----- "将是您的下拉列表的初始选定项目,其值等于 ''.

在POST期间,控制器mapLocationItemVal将选择下拉值.

上面显示的代码是在MVC中绑定Dropdownlist的最佳和最简单的方法.

  • 您可以将Bootstrap css样式提供给DropDownfor()为@ Html.DropDownListFor(m => m.mapLocationItemVal,new SelectList(Model.mapLocationItemTypes,"Value","Text"),"----- Select List --- - ",new {@class ="form-control"}) - @ user3736648 (5认同)