在编辑页面的表格中的每一行中设置下拉列表的选定值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在编辑页面的表格中的每一行中设置下拉列表的选定值相关的知识,希望对你有一定的参考价值。

我有一个可编辑的表,其中每行都有下拉列表来更新行值。如何在页面加载时为编辑页面上的行设置下拉列表选定值。

我的html代码:

 foreach (var item in Model)
 {
    <tr>
        <td>
        @Html.DropDownList("TeamA", null, "--Select--", htmlAttributes: new { @id = "teamA_" + item.ScheduleID, @class="form-control" })
        </td>
        <td>
        @Html.DropDownList("TeamB", null, "--Select--", htmlAttributes: new { @id = "teamB_" + item.ScheduleID, @class = "form-control"})
        </td>
    </tr>
}   

分别通过ViewBag.TeamA和ViewBag.TeamB填充表格选项,如下所示

ViewBag.TeamA = new SelectList(db.Teams.Where(s => s.RoleID == Id).ToList(), "TeamID", "Name");
ViewBag.TeamB = new SelectList(db.Teams.Where(s => s.RoleID == Id).ToList(), "TeamID", "Name");
答案

在你不确定剃须刀怎么做的情况下使用Html,比如在这种情况下使用带循环的Html下拉列表。例如

<select>        
        @foreach (var v in ViewBag.DropdownData)
        {
            <option value="@v.ID" @(v.ID == item.DDLID ? "selected" : "")>@v.Name</option>
        }
    </select>  
另一答案

您必须定义DorpDownList的列表,并且您需要定义所选项目,如下所示。

@Html.DropDownList("TeamA", new List<SelectListItem> { new SelectListItem {  Text = "P1", Value = "1"}, new SelectListItem { Text = "P2", Value = "2", Selected = true} }, "--Select--", new { value = "2"})

请注意,我已经生成了列表(新列表)。

另一答案

string.optionLabel中的@Html.DropDownList设置为item.Name可能会有效,假设您在视图中使用您的团队作为模型。

@Html.DropDownList("TeamA", null, item.Name, new {@id = "teamA_" + item.ScheduleID, @class="form-control"})

如果它们有任何值,它应显示正确的值,否则它将为空。

另一答案

谢谢大家的宝贵时间,我通过以下方式解决了这个问题。

 <td>
    <select name="TeamA" >
        <option value="0">--select--</option>
        @foreach (Team t in ViewBag.TeamA)
        {
            <option value="@t.TeamID" @(t.TeamID == item.Team1 ? "selected" : "")>@t.Name</option>
        }
    </select>                                                
</td>

在服务器端

ViewBag.TeamA = db.Teams.Where(s => s.SeriesID == Id).ToList();

以上是关于在编辑页面的表格中的每一行中设置下拉列表的选定值的主要内容,如果未能解决你的问题,请参考以下文章

在淘汰赛中设置下拉值

如何在 Kendo UI MVC 的网格中设置和获取下拉列表的值?

如何在EXCEL中设置下拉箭头筛选内容?

AngularJS - 在下拉列表中设置选定值,其中值与另一个对象匹配

从数据库中设置 laravel 中的选定选项

jQuery 用于根据下拉列表的更改值在 asp 中继器中设置背景颜色