使用 Select2 jquery 进行多重选择的 ASP MVC 下拉列表

JB'*_*B's 1 asp.net asp.net-mvc jquery razor jquery-select2

我有一个控件需要有多个选择选项来创建令牌。每当创建或删除令牌时都会生成数据库调用。现在的问题是,当我从服务器加载新页面时,控件中没有令牌。以下是我的剃刀代码:

@Html.DropDownList("ProjectIds", new MultiSelectList(projDDL.Items, "key", "value",Model.SelectedProject), new {@class = "form-control selectorBind", multiple = "multiple",@id= "myid" data_rowid = "ID", data_type="Project",data_myattr= "attr" })
Run Code Online (Sandbox Code Playgroud)

projDDL是一个包含下拉列表项的字典

SelectedProject也是包含所选项目键、值的字典

我尝试使用 MultipleSelect 跟踪此链接 MVC DropDown list但没有成功。

从服务器端加载令牌是我的问题。虽然我知道我可以通过 Jquery 轻松完成此操作,但我想使用 Razor。

解决方案 检查@Html.DropDownListFor对比@Html.ListBoxFor

@Html.ListBoxFor(y => y.SelectedProjects, new MultiSelectList(projDDL.Items, "key", "value", Model.SelectedProjects), new { @class = "form-control selectorBind", multiple = "multiple", @id = @Model.SkillType+"Project_" + Model.ID, data_rowid = @Model.ID, data_type = "Project", data_myattr = "FK_ProjectID" })
Run Code Online (Sandbox Code Playgroud)

JB'*_*B's 6

查看@Html.DropDownListFor和之间的区别@Html.ListBoxFor以及何时使用what

@Html.ListBoxFor(y => y.SelectedProjects, new MultiSelectList(projDDL.Items, "key", "value", Model.SelectedProjects), new { @class = "form-control selectorBind", multiple = "multiple", @id = @Model.SkillType+"Project_" + Model.ID, data_rowid = @Model.ID, data_type = "Project", data_myattr = "FK_ProjectID" })
Run Code Online (Sandbox Code Playgroud)