自定义查询条件,查询结果分页显示问题
根据用户选择的条件查询数据库,并分页显示结果。
Controller中的方法如下:
Index()向用户显示选择查询条件页面
[HttpPost] Index() 根据选好的条件查询数据库,并将结果返回QueryResults页面。
问题是:由于采用了MvcPager分页插件,查询结果第1页结果显示正常,但当点击第2页或其他时,默认就返回了Index.cshtml页面,而不显示结果数据了。这个问题应该如何处理?是不是要将查询结果放在另外的controller中显示?如果这样做的话,应该如何将结果数据传给新的controller呢?
controller如下
C# code
public class SearchController : Controller
{
public ActionResult Index()
{
ViewBag.CITYNAME = new SelectList(_db.city, "CITYID", "CITYNAME");
ViewBag.COUNTYRNAME = new SelectList(_db.coutry, "COUNTRYID", "COUNTRYNAME");
return View();
}
[HttpPost]
public ActionResult Index(FormCollection formValue, int? pageid)
{
PagedList<city> q = ... //(查询语句) ;
return View("QueryResults",q);
}
}
------解决方案--------------------
你可以更改控制器名
public ActionResult Index(FormCollection formValue, int? pageid)
改成
public ActionResult Index2(FormCollection formValue, int? pageid)
然后将上面的[HttpPost]去掉,表单提交时,直接提交到index2,而不是index
这们就OK解决了