我有一个搜索页面,在加载时填充webgrid。我的问题是分页。 在加载时,我用“未发布”文章填充网格(在这种情况下没有)。 然后我搜索“当前发布”并获得3行。
现在我有3个页面(为了测试目的,我将页面设置为每页一行)。 它第一次搜索 - 它在网格中得到正确的答案,并且可以说有2页。
如果我单击2转到第二页 - 网格填充了加载的标准 - 未发布,其中没有。我看到我没有回到页面点击的HttpPost动作 - 所以我不确定为什么会这样做。
您可以看到我有一个名为Admin的初始加载 和一个名为Admin的帖子(FormCollection值) 在两者上我都将默认值设置为“未发布”
public ActionResult Admin()
{
var menus =
(
from p in db.Menus.ToList()
where p.ParentID == 0
orderby p.Order ascending
select p.Name
);
ViewBag.Menus = new SelectList(menus, "Home");
string[] publishedStatuses = new string[3]
{ "NOT PUBLISHED", "EXPIRED ALREADY", "CURRENTLY PUBLISHED"};
ViewBag.Published = new SelectList(publishedStatuses, "NOT PUBLISHED");
var articles =
(
from p in db.Articles.ToList()
where p.PublishToWeb == false && p.Menu == "Home"
select p
);
}
return View(articles);
}
}
答案 0 :(得分:0)
您的问题是,您点击页面的链接会再次调用管理控制器操作,由于您没有收到任何参数,它将再次进行初始搜索。
如果您将操作方法更改为:
public ActionResult Admin(int? page)
{
//Your code here
}
您将从网格中获取页码,并可在搜索中使用该页码。要启用过滤和搜索,请查看此博客文章: