PDA

View Full Version : حرفه ای: مشکل در استفاده از PagedList و جشتحو پیشرفته



amir_arsalan_k2
چهارشنبه 14 آبان 1393, 23:37 عصر
با سلام به اساتید محترم ...

من تو پروژه ام یک سرچ پیشرقته دارم که result آن در view با foreach لیست کردم و در زیر یه pagedList دارم که در حالت نرمال بدون search همه چی درسته اما وقتی سرچ میکنیم جواب سزچ درست لیست میشه اما وقتی page 2 میزنیم صفحه page 2 معمولی میاره نه page 2 قسمت سرچ ... ینی بر میگرده به حالت نرمال ....

کد ها ی Controller



[HttpGet]
public ActionResult Home(int? page)
{

GroupsRepository Groups = new GroupsRepository();
ViewBag.GroupsList = Groups.Select();
OstanRepository ostanlist = new OstanRepository();
ViewBag.Ostanlist = ostanlist.Select();
int pageSize = 5;
int pageNumber = (page ?? 1);
AdsRepository adlist = new AdsRepository();
var ResultsAds = adlist.Select().Where(m => m.status == true && m.confirm == true).OrderByDescending(m => m.date);

ViewBag.Adlist = ResultsAds.ToPagedList(pageNumber, pageSize);




return View("Home");
}

[HttpPost]
public ActionResult Home(SearchModel SearchModel, int? page)
{
GroupsRepository Groups = new GroupsRepository();
OstanRepository Ostanlist = new OstanRepository();
ViewBag.GroupsList = Groups.Select();
ViewBag.Ostanlist = Ostanlist.Select();

int pageSize = 5;
int pageNumber = (page ?? 1);
AdsRepository adlist = new AdsRepository();

var ResultsAds = adlist.Select().Where(model => model.status == true && model.confirm == true).OrderByDescending(model => model.date);
if (SearchModel.title != null)
{
ResultsAds = ResultsAds.Where(x => x.title.Contains(SearchModel.title.Trim())).OrderB yDescending(model => model.date);
}
if (SearchModel.group != null)
{
ResultsAds = ResultsAds.Where(x => x.category == SearchModel.group).OrderByDescending(model => model.date);
}
if (SearchModel.state != null)
{
ResultsAds = ResultsAds.Where(x => x.city == SearchModel.state).OrderByDescending(model => model.date);
}
if (SearchModel.urgent == true)
{
ResultsAds = ResultsAds.Where(x => x.urgent == SearchModel.urgent).OrderByDescending(model => model.date);
}
if (SearchModel.mode != 0)
{
int? mode = null;
mode = SearchModel.mode;
ResultsAds = ResultsAds.Where(x => x.mode == mode).OrderByDescending(model => model.date);
}

ViewBag.Adlist = ResultsAds.ToPagedList(pageNumber, pageSize);



return View("Home");


}




کد های View





@{
foreach (var item in ViewBag.Adlist)
{
<div class="home_ads_div">
<ul>
<li>
???????????????
</li>
</ul>

</div>
}
<div class="clear"></div>

<div>

<center>

@Html.PagedListPager((IPagedList)ViewBag.Adlist, page => Url.Action("Home", "Home", new { page, @class = "pager" }))

</center>


</div>





}






الان 4 روز دارم سروکله میزنم لطفا کمک کنید ...

amir_arsalan_k2
پنج شنبه 15 آبان 1393, 18:26 عصر
کسی نبود کمک کنه ؟؟؟؟

sunn789
پنج شنبه 15 آبان 1393, 21:18 عصر
خو بتا اونجا که من میبینم پس از عملی که باعث از دست رفتم paging میشه با این کدی شما نوشتین یعنی ViewBag الی میشه و چرا PagedList رو با View نمیفرستید و با ViewBag میفرستید؟