首页 文章

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

提问于
浏览
0

我有一个下拉列表(城市),在选择它应该能够绑定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 回答

  • 1

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

    • 创建 <div> 以保存要使用要选择的ID创建的新网格视图 .

    • 创建生成网格视图的局部视图 .

    • 在jquery / javascript中创建一个函数,用于更改事件的下拉列表 .

    • 从函数调用使用ajax的action方法 .

    • 创建一个操作方法,该方法可以执行您想要执行的功能,并返回包含生成网格视图所需模型的局部视图 .

    • 最后在ajax调用的成功方法上,将输出响应写入 <div> 的内部html .

    如果肯定不会使用jquery或javascript,那么回发帖子并从post方法中选择的下拉值获取网格视图的数据并将其绑定到网格 . 请注意,下拉列表中的表单提交不会发生,必须使用提交按钮 . 如果不为null,还显示基于网格的模型 .

    选择您可能采用的那个 .

相关问题