Postback نکردیم اما میشود!
سلام
دوستان ما برای اینکه یک اطلاعاتی رو سمت سرور بفرستیم اصطلاحا میگیم Postback داره میره. می زاریمش تو تگ form
اینجا من از PagedList استفاده کردم و اصلا تو تگ form نیست اما عملا صفحه داره PostBack میشه!
چرا؟ چون وقتیbreackpoint میزاریم،داره مقدار می فرسته.
توضیح بیشتر
کد:
@using PagedList.Mvc
@model PagedList.IPagedList<Final_Project.Models.Comment>
@using(Html.BeginForm())
{
<table >
@foreach (var item in Model)
{
<tr >
<td>
<input type="checkbox" name="user" /></td>
<td style="text-align:justify;padding-right:40px " >
@Html.DisplayTextFor(modelIte => item.Text )
<hr style="width:auto;padding-right:20px" />
</td>
</tr>
}
<input type="submit" value="ثبت" />
</table>
}
<div id='Paging' style="text-align:center">
Page @(Model.PageCount < Model.PageNumber ? 0 : Model.PageNumber)
of @Model.PageCount
@Html.PagedListPager(Model, page => Url.Action("Index", new { page }))
</div>
این view ما بود و این اکشن
کد:
public ActionResult LatestArticle(int? page)
{
int pageSize = 1;
int pageIndex = 1;
pageIndex = page.HasValue ? Convert.ToInt32(page) : 1;
IPagedList<article> latest = null;
latest = _db.articles.OrderByDescending(x => x.CTime).ToPagedList(pageIndex, pageSize);
return View(latest);
}
آخر View کار صفحه بندی رو انجام میده و با کلیک روی شماره هر صفحه به آن صفحه هدایت می شویم.
اینجا به نظر من داره Postback اتفاق میافته چون ما داریم شماره صفحه رو به عنوان پارامتر پاس میدیم به اکشن . اما اگر Postback هست چرا در تگ form نیست؟
اصلا وقتی در تگ form نیست چطور صفحه به سمت سرور ارسال میشه!!!؟!!!؟؟؟؟
حتی من Html.Beginform رو پاک کردم و به جاش تگ html گذاشتم و Body بدون هیچ چیز دیگری. و صفحه بندی به خوبی کار کرد!
گفتم شاید خوب Paging میاد اینها رو میازه تو تگ فرم اما در سورس که نگاه کردم خبری نبود