PDA

نسخه کامل مشاهده نسخه کامل : Postback نکردیم اما میشود!



Life24
07-09-2014, 08:10
سلام
دوستان ما برای اینکه یک اطلاعاتی رو سمت سرور بفرستیم اصطلاحا میگیم Postback داره میره. می زاریمش تو تگ form
اینجا من از PagedList استفاده کردم و اصلا تو تگ form نیست اما عملا صفحه داره PostBack میشه!
چرا؟ چون وقتیbreackpoint میزاریم،داره مقدار می فرسته.
توضیح بیشتر


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

این view ما بود و این اکشن


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

آخر View کار صفحه بندی رو انجام میده و با کلیک روی شماره هر صفحه به آن صفحه هدایت می شویم.
اینجا به نظر من داره Postback اتفاق میافته چون ما داریم شماره صفحه رو به عنوان پارامتر پاس میدیم به اکشن . اما اگر Postback هست چرا در تگ form نیست؟
اصلا وقتی در تگ form نیست چطور صفحه به سمت سرور ارسال میشه!!!؟!!!؟؟؟؟
حتی من Html.Beginform رو پاک کردم و به جاش تگ html گذاشتم و Body بدون هیچ چیز دیگری. و صفحه بندی به خوبی کار کرد!
گفتم شاید خوب Paging میاد اینها رو میازه تو تگ فرم اما در سورس که نگاه کردم خبری نبود

_H2_
03-10-2014, 14:31
سلام
ما روش های مختلفی برای تبادل اطلاعات بین سرور و کلاینت داریم که اصلی ترین آنها POST و GET است.
از GET در مشاهدات استفاده میکنیم و از POST در تغییرات (Insert,Update,Delete) ...
GET همان در خواست مشاهده صفحه است و پارامترها در این روش در انتهای آدرس صفحه منتقل میشوند.
مانند
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
همانطورکه بیان شد این روش مختص و مناسب مشاهده محتوا است (Select) برای این عمل هم یک تگ ساده a در بدنه کدهای html کافی خواهد بود.

=====

در POST معمولاً تک form ای به صفحه اضافه میشود که حاوی ادرس مقصد است و زدن دکمه submit کل اطلاعات فیلدهای داخل form از طریق [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ] ها و بدون رویت کاربر به سرور ارسال میشود.
این شامل جفت name,value های کنترلر ها (مانند input ها) خواهد بود.

در صفحه بندی ای که شما اشاره کردید، چون نوعی مشاهده خالی وجود دارد (Select) خیلی منطقی است که از GET استفاده شود و شماره صفحه هم از طریق همان آدرس منتقل شود، پس نیازی به form و submit و postback و... وجود نخواهد داشت.

=====

نکته آخر آنکه باید یادآوری کنم که به کمک javascript و ajax و jquery و... با و بدون تگ form و... میتوان اطلاعات را GET,POST,PUT,DELETE.... کرد.
موفق باشید.