【问题标题】:Binding dropdown list selected value from controller side in @Html.DropDownList在@Html.DropDownList 中从控制器端绑定下拉列表选择的值
【发布时间】:2021-02-22 01:01:33
【问题描述】:

将所选值绑定到使用控制器中的@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. 直接将值绑定到下拉列表。

【问题讨论】:

  • 使用console.log来代替值。
  • 我尝试在加载页面时使用 console.log,该行变为 $('#RoleFilter').val('')。 THE @..... 值被忽略。

标签: javascript jquery asp.net-mvc asp.net-mvc-4


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2018-05-11
    • 1970-01-01
    • 2012-02-02
    • 1970-01-01
    • 2014-08-22
    • 1970-01-01
    • 2014-10-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多