【问题标题】:Ajax WebGrid Paging MVC3Ajax WebGrid 分页 MVC3
【发布时间】:2013-10-09 01:05:39
【问题描述】:

我正在使用WebGrid,我需要使用 Ajax 在页面之间切换。

索引代码

<script src="../../Scripts/jquery.unobtrusive-ajax.js" type="text/javascript"></script>
<script src="../../Scripts/jquery-1.5.1.min.js" type="text/javascript"></script>
@using (Ajax.BeginForm("GetGrid", new AjaxOptions() { UpdateTargetId = "Res" }))
{
    <input type="text" />
    <input type="submit" value="start" />
    <div id="Res">
    </div> 
}

结果局部视图

@model IEnumerable<MvcApplication1.Controllers.Model>

<div id="grid2">
@{
    var grid = new WebGrid(source:Model,rowsPerPage:6,ajaxUpdateContainerId: "grid2");

    @grid.GetHtml(htmlAttributes: new { id = "grid2" },

          columns: grid.Columns(
                    grid.Column("Someting")
    ));
}
</div>

控制器代码

 public class ABCController : Controller
{
    //
    // GET: /ABC/

    public ActionResult Index()
    {
        return View();
    }
    public static  List<Model> mo = new List<Model>();
    [HttpPost]
    public ActionResult GetGrid()
    {
        for (int i = 0; i < 1000; i++)
        {
            mo.Add(new Model() { Someting = i.ToString() });
        }
        return PartialView("Result", mo);
    }

}

    public class Model
    {
        public string Someting { get; set; }
    }

这适用于第一页,但其他页面没有任何反应。

【问题讨论】:

    标签: ajax asp.net-mvc-3 paging webgrid


    【解决方案1】:

    几个小时后,我找不到对我有帮助的东西。我注意到我的页面链接的 html 代码。 页面链接

    <a href="#" onclick="$('#grid2').load('/ABC/GetGrid?page=2&amp;__=635163360142144025 #grid2');">2</a>
    

    所以我终于知道它是如何工作的了。我像这样向我的控制器添加一个ActioResult

        [HttpGet]
        public ActionResult GetGrid(int page)
        {
            return PartialView("Result",mo);
        }
    

    并且工作。我希望这对某些人有所帮助

    【讨论】:

      猜你喜欢
      • 2012-02-15
      • 2012-03-03
      • 2011-09-14
      • 1970-01-01
      • 2013-05-09
      • 2012-05-14
      • 2011-10-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多