【问题标题】:Update DropDownListFor data source from controller MVC从控制器 MVC 更新 DropDownListFor 数据源
【发布时间】:2016-11-15 08:12:54
【问题描述】:

我有一个 DropDownListFor 从控制器获取数据源。有没有办法更新它,因为我正在添加我希望然后显示在同一页面上的新值。

查看:

@Html.DropDownListFor(m => m.Id, MyController.GetIds(Model.Id).Select(g => new SelectListItem { Text = g.Text, Value = g.Value }), @Resource.System_Choose, new
                   {
                       @class = "form-control selectpicker",
                       data_live_search = "true"
                   })

控制器:

public static List<SelectListItem> GetIds(int Id)
    {
        var retVal = new List<SelectListItem>();

        return retVal;
    }

【问题讨论】:

    标签: asp.net-mvc razor html.dropdownlistfor


    【解决方案1】:

    让您的视图处理具有List&lt;SelectListItem&gt;() 类型属性的模型,并返回准备好绑定并在下拉菜单中显示的此属性。

    【讨论】:

      【解决方案2】:

      有一些方法可以实现目标,

      1. 仅使用 javascript 将新值附加到选择选项中。 (如果新值没有发送到后端)
      2. Ajax 并获取新列表。

      案例2的示例,我们可以将DropDownList放到partialview中,使用ajax获取partialview中最新的DropDownList。

      控制器:

      public ActionResult QueryNewList()
      {
          return PartialView("~/Views/Home/_urPartialView.cshtml", viewModel);
      }
      

      HTML:

      <div id="myDiv"></div>
      

      Js:

       $.ajax({
            dataType: "html",
            url: "QueryNewList",
            success: function (html) {
                  $("#myDiv").html("");
                  $("#myDiv").append(html);
             }
        })
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-08-03
        • 1970-01-01
        • 1970-01-01
        • 2023-03-07
        • 1970-01-01
        • 2015-02-07
        相关资源
        最近更新 更多