PDA

View Full Version : چطوری میتونم نتایج جستجو را صفحه بندی کنم؟



hossein_va
چهارشنبه 02 اردیبهشت 1394, 22:16 عصر
سلام.صفحه بندی اطلاعات را که از یک جدول باشه را بلدم ولی میخوام نتایج جستجو را صفجه بندی کنم؟؟؟؟؟؟

Mohamad ghorbani
پنج شنبه 03 اردیبهشت 1394, 00:10 صبح
دوست عزیز
کافیه یک query ایجاد کنی
سپس همونطور که بلدی اطلاعات query رو صفحه بندی کن

hossein_va
پنج شنبه 03 اردیبهشت 1394, 00:20 صبح
یعنی برای هر صفحه یک عمل جستجو انجام بدم؟؟
بهتر نیست اول جستجو انجام بشهو نتایج صفحه بندی بشه و نخواد در هر صفحه یک عمل جستجو انجام داد و ب بانک وصل شد؟؟

aminmousavi
چهارشنبه 09 اردیبهشت 1394, 06:06 صبح
سلام دوست عزیز .
همانطور آقای قربانی گفتن برای هر صفحه شما باید کوئری رو اجرا کنید ، چون اگر بخواید کل اطلاعات رو بیارید و صفحه بندی کنید ، بعد از postback کل اطلاعات miss میشه (از بین میره) ، تنها راهش اینکه شما متغیر تون رو static تعریف کنید که هزینه زیاده برای سرورتون داره و اصلا پیشنهاد نمیکنم .
بهترین راه اینکه بر اساس کوئری استرینگی که هر صفحه داره نسبت به اون از sql کوئری بگیرین و مقادیر رو نمایش بدین .

keiv@n
چهارشنبه 09 اردیبهشت 1394, 09:53 صبح
یه کار به نظرم میرسه ...
یه لایه درست کن به عنوان cache داخل این لایه اطلاعاتی رو که زیاد احتیاج میشه رو نگهداری کن ، داخل این لایه یه کلاس بساز که اطلاعات کل عناصر صفحه بندیتو داخل یکی از property هاش نگهداره (باید خاصیت نگهدارنده عناصرت داخل کلاس از نوع استاتیک باشه .... تا تغییرات درش ذخیره بشه...) ، بعد داخل صفحه نمایش عناصر ، هر جا لازم شد خاصیت نگهدارنده کلاستو صدا بزن ، در آخر هم با استفاده از جی کوئری مثلا تعداد مورد نظر در هر صفحه رو مشخص کن کن مثلا 9 تا 9 تا یا 6 تا 6 تا یا ....

keiv@n
چهارشنبه 09 اردیبهشت 1394, 09:56 صبح
سلام دوست عزیز .
همانطور آقای قربانی گفتن برای هر صفحه شما باید کوئری رو اجرا کنید ، چون اگر بخواید کل اطلاعات رو بیارید و صفحه بندی کنید ، بعد از postback کل اطلاعات miss میشه (از بین میره) ، تنها راهش اینکه شما متغیر تون رو static تعریف کنید که هزینه زیاده برای سرورتون داره و اصلا پیشنهاد نمیکنم .
بهترین راه اینکه بر اساس کوئری استرینگی که هر صفحه داره نسبت به اون از sql کوئری بگیرین و مقادیر رو نمایش بدین .
آقای موسوی میشه بگین مشکل استاتیک گرفتن چیه ؟ چرا واسه سرور هزینه داره ؟ لطفا بیشتر توضیح بدین

aminmousavi
چهارشنبه 09 اردیبهشت 1394, 13:33 عصر
هم مقدار زیادی از حافظه رم شما رو به خودش تخصیص میده (مانند session) ،هم میتونه مشکل امنیتی داشته باشه .

http://blogs.msdn.com/b/tom/archive/2008/09/18/asp-net-tips-careful-use-of-static-s.aspx

keiv@n
چهارشنبه 09 اردیبهشت 1394, 16:15 عصر
اینجا خودش گفته cache کردن اطلاعات توصیه میشه و خیلی هم خوبه ولی در صورتی که دیتا sensitive یا متغییر نباشه !



We recommend that you cache data from the database so you don't have to query for it on each request. But if that data is sensitive, then you need to make sure you do not store it in cache or some other global.

aliasghar2
چهارشنبه 09 اردیبهشت 1394, 21:56 عصر
نمیدونم من سوال رو بد فهمیدم یا بقیه خیلی اونو سخت گرفتن
خب چرا از خاصیت paging استفاده نمی کنید اینکه خیلی ساده س
نتیجه جستجو رو چطور نمایش می دید ؟

aminmousavi
چهارشنبه 09 اردیبهشت 1394, 22:43 عصر
اگر بخواید از gridview خود .net استفاده کنید . حرف شما درسته ، اما استفاده از gridview گزینه مناسبی نیست ، مخصوصا برای پروژه های تجاری .
بهترین راه اینکه خودتون دیتاگرید تون رو بسازید .