【问题标题】:html dropdownlist load first valuehtml下拉列表加载第一个值
【发布时间】:2020-03-03 01:19:32
【问题描述】:

控制器

 ViewBag.Districts = new SelectList(repoBPASFM.Map<DistrictDTOList>("GetDistrict"), "DistrictID", "DistrictName", null);

HTML

   <div class="col-lg-4">
        <label>
            District
        </label>
        <span class="text color-red">
            *
        </span>
        @Html.DropDownList("DistrictName", ViewData["Districts"] as SelectList,  new { @class = "form-control", @required = "required" })
    </div>

我上面的这段代码运行良好,它显示了下拉列表中的所有数据。但是我遇到了一个问题,我想在加载页面时自动选择下拉列表中的第一项。 我的原始代码是@Html.DropDownList("DistrictName", ViewData["Districts"] as SelectList,"",,它在选择中有一个空白区域,我想如果我删除它,它会自动选择下拉列表的第一项。

【问题讨论】:

    标签: html asp.net-mvc dropdown


    【解决方案1】:

    有两种方式:

    1. 您应该删除最后一个参数null,因为它是选定值。
    ViewBag.Districts = new SelectList(repoBPASFM.Map<DistrictDTOList>("GetDistrict"), "DistrictID", "DistrictName");
    
    1. 您应该将最后一个参数 null 替换为您希望默认的值
    int selectedValue = 1;
    ViewBag.Districts = new SelectList(repoBPASFM.Map<DistrictDTOList>("GetDistrict"), "DistrictID", "DistrictName", selectedValue);
    

    Demo here

    【讨论】:

    • 抱歉,第一个值还是不显示。
    • 第一个答案是正确的。我没有注意到它在控制器中命中后,如果有数据,它会检查我的数据库。我只是删除空值,现在可以了。
    【解决方案2】:

    您指定 null 而不是可以指定 DistrictID

     ViewBag.Districts = new SelectList(repoBPASFM.Map<DistrictDTOList>("GetDistrict"), "DistrictID", "DistrictName", 1);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-03-17
      • 1970-01-01
      • 2021-04-27
      • 1970-01-01
      • 2013-12-06
      • 2021-09-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多