【问题标题】:Binding Gridview with drop down list selection MVC 5使用下拉列表选择 MVC 5 绑定 Gridview
【发布时间】:2014-12-10 21:50:26
【问题描述】:

我有一个下拉列表(城市),在选择时它应该能够在 MVC 5 中绑定网格视图

我可以绑定下拉列表和网格视图,但无法处理下拉列表的选择事件。我不知道如何继续我不想使用 Jquery。下面是我的代码

// 下面是下拉列表代码

@using (Html.BeginForm("BindGridView", "FacebookConfig", FormMethod.Post, new { id = "Id" })) { @Html.DropDownList("城市") }

//在选择上面我应该能够绑定下面的网格视图

@if(模型!= null) { foreach(模型中的变量项) { @Html.DisplayFor(modelItem => item.Keywords) @Html.ActionLink("Edit", "Edit", new { id = item.Id }) @Html.ActionLink("Delete", "Delete", new { id = item.Id })

// 下面是控制器中的代码

  public ActionResult Index()
    {
        var cities = So.BL.City.GetCities();

        ViewBag.Cities = new SelectList(cities, "Id", "Name");

        return View();
    }
      [HttpPost]
    public ActionResult BindGridView(int id)
    {
        var filter = So.BL.FacebookFilter.SelectFBApprovalFilters(id);
        return View(filter);
    }

【问题讨论】:

    标签: asp.net-mvc-4 model-view-controller


    【解决方案1】:

    如果您想对更改事件的下拉菜单执行操作,您必须使用 javascript/jquery 来处理元素事件。为了满足您的要求,您可以这样做,

    1. 创建一个<div> 来保存要创建的新网格视图,并使用要选择的ID。
    2. 创建生成网格视图的局部视图。
    3. 在 jquery/javascript 中为更改事件的下拉列表创建一个函数。
    4. 使用 ajax 从函数调用操作方法。
    5. 创建一个操作方法,该方法可以执行您想要执行的任何功能,并返回带有生成网格视图所需模型的部分视图。
    6. 最后关于ajax调用成功方法,将输出响应写入<div>的内部html。

    如果绝对不使用 jquery 或 javascript,则返回并从 post 方法中的选定下拉值获取网格视图的数据并将其绑定到网格。注意这里的表单提交不会发生在下拉选择必须使用提交按钮。如果不为空,还显示基于网格的模型。

    选择您可能采用的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-01
      • 1970-01-01
      相关资源
      最近更新 更多