【发布时间】:2014-09-02 14:57:22
【问题描述】:
我在我的 MVC Web 应用程序中使用 Grid.MVC 当使用索引控制器在空白页面中对其进行测试时,它可以成功地进行分页和过滤。 当我把它放在我的项目中时,问题就出现了 我执行 ajax 请求(因为我不需要重新加载页面)到方法并返回包含 Grid.Mvc 搜索结果的部分视图的步骤结果和页面数成功返回但是当我按到下一页或过滤它不起作用。
代码:
查看:
@using (Ajax.BeginForm("Search", "Home",
new AjaxOptions
{
HttpMethod = "POST",
InsertionMode = InsertionMode.Replace,
UpdateTargetId = "SearchResult"
})){
@Html.DropDownList("Province", "Province")
@Html.DropDownList("Cities", "Cities")
<span>price from :</span> <input type="text" name="Pricefrom" />
<span>to :</span> <input type="text" name="Priceto" />
<input type="submit" value="Search" /> }
搜索控制器:
[HttpPost]
public ActionResult Search(int? page , int Province = 0, int Cities = 0, int Pricefrom = 0, int Priceto = 0)
{
var ads = db.Ad.Where(a => (Cities == 0 || a.CityId == Cities) &&
(Province == 0 || a.Cities.ProvinceId == Province)&&
(Pricefrom == 0 || a.Price >= Pricefrom)&&
(Priceto == 0 || a.Price <= Priceto)).OrderBy(a => a.AdDate).ToList();
return PartialView("_Search", ads);
}
部分视图:
@using GridMvc.Html
@model IEnumerable<Semsark.Areas.Backend.Models.Ad>
<div>
@Html.Grid(Model).Columns(columns =>
{
columns.Add(c => c.Id).Titled("ID");
columns.Add(c => c.AdTitle).Titled("title");
columns.Add(c => c.AdBody).Titled("body");
}).WithPaging(2).Sortable(true)
</div>
视图 index.cshtml 中的脚本和样式:
<head>
<meta name="viewport" content="width=device-width" />
<link href="@Url.Content("~/Content/Gridmvc.css")" rel="stylesheet" />
<script src="@Url.Content("~/Scripts/gridmvc.min.js")"></script>
<script src="~/Scripts/gridmvc.lang.ru.js"></script>
<title>Index</title>
提前感谢您的帮助,
【问题讨论】:
-
你在使用 Grid.Mvc.Ajax 包吗?
标签: ajax asp.net-mvc gridview kendo-grid