如何在html.dropdownlist's list - razor代码中给选项赋值?

本文关键字:代码 razor 赋值 选项 list html dropdownlist | 更新日期: 2023-09-27 17:50:25

如何为@Html.DropdownList中的选项赋值?我想分配主键(ID)到列表中的单个选项,并使用jquery/javaScript读取选定的值ID。

@Html.DropDownList("Group", new SelectList(Model.Groups.Select(g => g.GroupName)),
    "Select Group", new {id =item.UserID, @class = "GroupDropList" })

在移动时,我的输出如下;

<select class="GroupDropList" id="1" name="Group">
   <option value="">Select Group</option>
   <option>Group A</option>
   <option>Group B</option>
   <option>Group C</option>
   <option>new1</option>
</select>
JQuery

$(document).ready(function () {
    $(".GroupDropList").on('change', function () {
        var getValue = $(this).val();
        var SelectedItemID = $(this).attr("Id");
        alert(getValue+"  for "+SelectedItemID);
    });
});

ViewModel(我通过控制器发送给视图)

public class UserGroup_ViewModel
{
    public List<User> Users { get; set; }
    public List<Group> Groups { get; set; }
}

如何在html.dropdownlist's list - razor代码中给选项赋值?

SelectList有一个重载,你可以分配dataValueFielddataTextField:

new SelectList(Model.Groups, "GroupId", "GroupName")

controller

 ViewBag.Group= new SelectList(Model.Groups, "GroupId", "GroupName");

Cshtml

  @Html.DropDownList("Group", null, htmlAttributes: new { onchange = "$.GroupChange();", @class = "form-control"})
JQuery

$.GroupChange= function () {
    var GroupID= $("#Group").val();
    alert(GroupID);
}