将所选值绑定到使用控制器中的@Html.DropDownList生成的下拉列表的正确方法是什么。即下拉列表的选择应该从控制器侧发生。这就是我生成下拉列表的方式。
@Html.DropDownList("CountryFilter", (IEnumerable<SelectListItem>)ViewBag.Coutries, "Select", new { id = "CountryFilter" })
我的方法-我尝试通过使用id选择器使用jquery更新值,但我无法在像这样的OnPageload方法中从控制器接收要选择的值
$(document).ready(function () {
$('[data-toggle="tooltip"]').tooltip();
$('#RoleFilter').val(@ViewBag.roleFilter.ToString());
});
当我像这个一样硬编码值时,它就起作用了
$('#RoleFilter').val("3");
但我无法从ViewBag中获得价值。
我的问题可以通过两种方式解决
- 使用Jquery
- 将值直接绑定到下拉列表
如果您的代码在硬编码值时有效,则必须尝试以下代码才能在ViewBag 中获取值
$(document).ready(function () {
$('[data-toggle="tooltip"]').tooltip();
$('#RoleFilter').val(@Html.Raw(@ViewBag.roleFilter.ToString())); //Accessing the Json Object from ViewBag
});