使用下拉列表选择MVC 5绑定Gridview

时间:2014-10-15 17:55:40

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

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

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

//下面是下拉列表代码


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


//关于上面的选择我应该可以绑定下面的网格视图





    @if (Model != null)
    {

        foreach (var item in Model)
        {
        
            
                @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);
    }

1 个答案:

答案 0 :(得分:1)

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

  1. 创建<div>以保存要使用要选择的ID创建的新网格视图。
  2. 创建一个生成网格视图的局部视图。
  3. 在jquery / javascript中创建一个函数,用于更改事件的下拉列表。
  4. 从函数调用使用ajax的操作方法。
  5. 创建一个动作方法,该方法可以执行您想要执行的任何功能,并使用生成网格视图所需的模型返回局部视图。
  6. 最后在ajax调用的成功方法上,将输出响应写入<div>的内部html。
  7. 如果绝对没有使用jquery或javascript,那么回发帖子并从post方法中选择的下拉值获取网格视图的数据并将其绑定到网格。请注意,下拉列表中的表单提交不会发生,必须使用提交按钮。如果不为null,也显示基于网格的模型。

    选择您可能采用的那个。