绑定下拉列表在@Html.DropDownList中从控制器端选择值



将所选值绑定到使用控制器中的@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中获得价值。

我的问题可以通过两种方式解决

  1. 使用Jquery
  2. 将值直接绑定到下拉列表

如果您的代码在硬编码值时有效,则必须尝试以下代码才能在ViewBag 中获取值

$(document).ready(function () {
$('[data-toggle="tooltip"]').tooltip();
$('#RoleFilter').val(@Html.Raw(@ViewBag.roleFilter.ToString())); //Accessing the Json Object from ViewBag
});

最新更新