我正在使用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; }
}
这是第一页的工作,但其他页面没有任何反应。
答案 0 :(得分:1)
几个小时后我找不到一些能帮到我的东西。我注意到我的页面链接的html代码。 页面链接
<a href="#" onclick="$('#grid2').load('/ABC/GetGrid?page=2&__=635163360142144025 #grid2');">2</a>
所以我终于得到了它的工作原理。我向我的控制器添加ActioResult
,如下所示:
[HttpGet]
public ActionResult GetGrid(int page)
{
return PartialView("Result",mo);
}
and working.i希望这对某些人有用