代码之家  ›  专栏  ›  技术社区  ›  Suraj Kumar zip

如何在MVC的下拉列表中将默认值“0”设置为文本“select”?

  •  2
  • Suraj Kumar zip  · 技术社区  · 5 年前

    下面是国家的下拉列表。我要选定的文本“选择”正在工作。

    @Html.DropDownList("ddlCountryName", 
     new SelectList(ViewBag.CountryName, "CountryId", "CountryName"), 
     new { @class = "form-control" })
    

    现在,我想设置文本“select”的值“0”,默认情况下,它是选中的。当前“select”的值为空,如下所示。

    enter image description here

    我该怎么做?值“select”不在数据源中。我必须在jquery中访问这个选定的值。

    我试过这两个,但都不管用。

    @Html.DropDownList("ddlCountryName", 
    new SelectList(ViewBag.CountryName, "CountryId", "CountryName"),
    "Select", new { @class = "form-control", @selected = "0" })
    

    @html.dropdownlist(“ddlCountryName”,
    新选择列表(viewbag.countryname,“countryid”,“countryname”),
    “选择”,新建@class=“form control”,@selected=“0”)
    

    以下是CountryName值的控制器代码

    ViewBag.CountryName = dbLMS.CountryMasters.Select(c => new { c.CountryId, c.CountryName }).OrderBy(c => c.CountryName).ToList();
    
    3 回复  |  直到 5 年前
        1
  •  3
  •   TanvirArjel    5 年前

    您可以执行以下操作:

    选择1:

    @{
      var countrySelectList =  new SelectList(ViewBag.CountryName, "CountryId", "CountryName");
    
      List<SelectListItem> countrySelectListItems  = countrySelectList.ToList();
      countrySelectListItems.Insert(0, (new SelectListItem { Text = "Please select", Value = "0", Selected = true }));
    }
    
    @Html.DropDownList("ddlCountryName", countrySelectListItems , new { @class = "form-control" })
    

    选择2:

    在控制器方法中:

    List<SelectListItem> selectListItems = dbLMS.CountryMasters.Select(a => new SelectListItem()
    {
        Text = a.CountryName,
        Value = a.CountryId
    }).ToList();
    
    selectListItems.Insert(0, new SelectListItem(){Text = "Selet Country", Value = "0", Selected = true});
    ViewBag.CountrySelectList = selectListItems;
    

    然后在视图中:

    @Html.DropDownList("ddlCountryName", (List<SelectListItem>)ViewBag.CountrySelectList, new { @class = "form-control" })
    
        2
  •  0
  •   JamesS    5 年前

    new SelectList(ViewBag.CountryName, "CountryId", "CountryName", //Default value)

        3
  •  0
  •   Gauravsa    5 年前

    您不需要选择值。对于模型,保留所需的验证属性。

    这将确保选择该值。这样就不必在后端进行检查。