میهمان عزیز خوش آمدید! برای بهره‌مندی از تمام امکانات لطفا وارد حساب کاربری خود شوید و یا ثبت‌نام نمایید
گزینه ها
مشاهده آخرین ارسال مشاهده آخرین ارسال خوانده نشده
Offline محمد حسن پور  
#1 ارسال شده : 1394/10/26 05:38:32 ب.ظ
محمد حسن پور
رتبه : کاربر حرفه ای
امتیاز
مدال :
متخصص دی ان ان: متخصص دی ان ان
تاریخ عضویت : 1394/08/15
ارسالها : 31 نوشته
( تشکرها: 14 بار )
( 8 تشکر دریافتی در 8 ارسال )

سوالم رو با یک مثال مطرح می کنم که بهتر بتونم منظورم رو بهتون برسونم.تو بحث کار با URL در دات نت نیوک من با این دستور

Response.Redirect(DotNetNuke.Common.Globals.NavigateURL(this.TabId, "", "page=0"));

URL مورد نظر را تغییر می دم و با این دستور

var clickValue = Request.QueryString["page"]; 

مقدار مورد نظر رو از URL به راحتی می خونم و بدون هیچ مشکلی و به درستی تمام انجام می شه حالا مسئله اینجاست که من برای کاری نیاز دارم که صفحه رفرش نشه چون موقعی که دستور اول رو اجرا می کنیم صفحه رفرش می شه. درواقع من بر مبنای رفرش نشدن کل صفحه تا یه اینجا ماژولم رو به پیش بردم و فقط در بحث پیج بندی نیاز به کار کردن با URL دارم که اونم منجر به رفرش شدن صفحه می شه. مشکلی تو کارم پیش نمیاد ولی نمی خوام رفرش بشه مثل دیجی کالا که دقیقا همه ی فیلترینگش رو با URL رد و بدل می کنه و هیچ رفرشی هم نمیشه حالا من فقط می خوام یه شماره صفحه رو با URL رد وبدل کنم و نمی خوام هم که رفرش بشه.

روش رفرش نشدن در ASP.NET وجود داره و به این صورته که ما با JQUERY به صورت AJAX دستورات مربوط به تغییر دادن URL رو که اون هم با JQUERY یا JAVASCRIPT هست رو می نویسیم. ولی در ماژول نویسی دات نت نیوک ما به فایل aspx اصلیمون دسترسی نداریم و فقط با یوزرکنترل یعنی فایل ascx کار می کنیم و در فایل ascx و در واقع از یوزرکنترل امکان اجرا کردن ajax توسط jquery وجود نداره. پس اگر هم همه ی این کارها رو بکنیم بازم واسه اجرا کردن تابع مورد نظرمون از سمت سرور باید صفحه رفرش بشه.

چیزی که من به ذهنم می رسه ایه که dnn همون طوری که یه دستور واسه خوندن و نوشتن URL واسه ما گذاشته باید پیش بینی همچین مسئله ای رو هم لااقل تو ورژن های جدیدش مثل 7 کرده باشه. من خیلی سرچ کردم ولی چیزی پیدا نکردم. اگر دوستان تجربه ای تو این زمینه دارن لطف کنن و در اختیار ما قرار بدن. اگه نتونیم با URL ها بدون رفرش شدن کار کنیم این یک ضعف بسیار بزرگ برای DNN خواهد بود.

ویرایش شد بوسیله کاربر 1394/10/26 05:40:17 ب.ظ  | دلیل ویرایش: مشخص نشده است

Offline منصور نظیفی (مدیر فنی)  
#2 ارسال شده : 1394/10/26 10:21:21 ب.ظ
منصور نظیفی (مدیر فنی)
رتبه : مدیر ارشد
امتیاز
مدال :
اعضای رسمی دی ان ان پلاس: اعضای رسمی دی ان ان پلاسمتخصص دی ان ان: متخصص دی ان ان
تاریخ عضویت : 1394/01/13
ارسالها : 186 نوشته

( 50 تشکر دریافتی در 47 ارسال )

سلام

این ربطی به دی ان ان نداره و به قدرت کد نویسی شما بستگی داره

حالا چه لزومی داره صفحه دوم که قراره اطلاعات و با ایجکس به اون انتقال بدین و مقادیر رو بگیرین حتما داخل خوده دی ان ان باشه!

میتونید به راحتی صفحه مربوطه رو هر جایی که خواستین قرار بدیدن و تو ایجکس لینک رو درست وارد کنید

کلیه تراکنش ها در همین سایت دی جی کالا (به نظر من) با روش ایجکس رد و بدل میشه و برای این کار از دو صفحه سمت سرور  استفاده میکنن:

یکی برای نمایش محتوای سلکت شده و دیگری هم اطلاعات و با Post بهش پاس میدن و بعد اطلاعات جدید رو دریافت و در صفحه اصلی نمایش میدن.

و اگه خواستین برای کاربر هم  این کار قابل مشاهده باشه URL صفحه رو میتونین با جاوا اسکریپت تغییر بدین در لینک زیر یه مثال خوب برای تغییر URL صفحه هستش میتونین برسی کنید:

 

stackoverflow.com/questions/136458/change-the-url-in-the-browser-without-loading-the-new-page-using-javascript

کد:

<script type="text/javascript">
        var stateObj = { foo: "bar" };
        function change_my_url() {
            history.pushState(stateObj, "page 2", "bar.html")
        }
    </script> 

و در ادامه یه تگ a تو صفحه قرار بدین و تست کنید.

کد:

<a onclick="change_my_url();" id="click" href="#">Click to change url to bar.html</a> 

ویرایش شد بوسیله کاربر 1394/10/26 10:39:19 ب.ظ  | دلیل ویرایش: مشخص نشده است

thanks 1 کاربر از منصور نظیفی (مدیر فنی) برای ارسال مفیدش تشکر کرده است.
محمد حسن پور در تاریخ 1394/10/27
Offline محمد حسن پور  
#3 ارسال شده : 1394/10/27 09:27:25 ق.ظ
محمد حسن پور
رتبه : کاربر حرفه ای
امتیاز
مدال :
متخصص دی ان ان: متخصص دی ان ان
تاریخ عضویت : 1394/08/15
ارسالها : 31 نوشته
( تشکرها: 14 بار )
( 8 تشکر دریافتی در 8 ارسال )
بله دوست عزیز کاملا حق با شماست و من هم بعد از پرسیدن سوال هم چنان به بررسی هام ادامه دادم و به روشهایی که فرمودین رسیدم و کارم راه افتاد. بسیار سپاسگذارم

حالا مسئله ی جدیدی که هست اینه که می خوام یک سری اطلاعات رو تو url قرار بدم و از اون بخونم و در واقع ورودی جستجوم همیشه از url گرفته بشه. روشش رو فهمیدم چه جوریه و تست گرفتم ولی چون حجم اطلاعاتم زیاده اگه یه مثال یا نمونه کدی که اطلاعات زیادی رو تو URL قرار می ده و ازش می خونه مخصوصا قرار دادن یک آرایه تو url و خوندنش باشه ممنون می شم ازتون. و الا خودم باید یه ابتکاری واسه این کار به خرج بدم.

Offline منصور نظیفی (مدیر فنی)  
#4 ارسال شده : 1394/10/27 09:51:58 ق.ظ
منصور نظیفی (مدیر فنی)
رتبه : مدیر ارشد
امتیاز
مدال :
اعضای رسمی دی ان ان پلاس: اعضای رسمی دی ان ان پلاسمتخصص دی ان ان: متخصص دی ان ان
تاریخ عضویت : 1394/01/13
ارسالها : 186 نوشته

( 50 تشکر دریافتی در 47 ارسال )

به نظرم یه جایه پروژه شما مشکل داره!

تعداد کاراکتر و همچنین نوع کاراکتر URL محدوده و تو هیچ پروژه ای ندیدم که یبش از 5 تا کوییری استرینگ استفاده شده باشه زیرا مدیریتش سخت میشه و همچنین امنیت سایت و پایین میاره!

اگه با روش ایجکس و جاوا اسکریپت دارین کار میکنین به راحتی میتونید با جاوا اسکریپت کوییری استرینگ ها رو به دست بیارین و مقادیر رو پاس بدین به صفحه دوم.

خوب برای این کار میتونید تو کوکی مرورگر کاربر ذخیره کنید که با این کار میتونید حجم اطلاعات زیادی رو ذخیره کنید.

thanks 1 کاربر از منصور نظیفی (مدیر فنی) برای ارسال مفیدش تشکر کرده است.
محمد حسن پور در تاریخ 1394/10/27
Offline محمد حسن پور  
#5 ارسال شده : 1394/10/27 01:59:15 ب.ظ
محمد حسن پور
رتبه : کاربر حرفه ای
امتیاز
مدال :
متخصص دی ان ان: متخصص دی ان ان
تاریخ عضویت : 1394/08/15
ارسالها : 31 نوشته
( تشکرها: 14 بار )
( 8 تشکر دریافتی در 8 ارسال )
اگه کوکی مرورگر کلاینت بسته باشه چی؟ یا چون همیشه بازه به جز موازد استثنا کوکی بسته هست پس بسته بودن رو اصلا درنظر نگیریم؟

یه نکته دیگه هم هست. اگه از هر روشی به غیر از url استفاده بشه زمانی که صفحه رو رفرش کنیم همه چیز به هم می خورده مثلا در نظر بگیرین تو صفحه سوم از نتایج جستجومون هستیم و f5 رو می زنیم و صفحه رفرش می شه اینجا یا باید با متغییر session وضعیت ها رو حفظ کنیم که اونم مشکل زمان داره و بعد 20 دقیقه از بین می ره. در صورتی که شما نتیجه جستجوی digikala رو که تو سیستمت بازه فرداش هم رفرش کنی همون صفحه فقط رفرش می شه و چیزی بهم نمی ریزه

بخاطر این رفرش هست که به فکر استفاده از url افتادم و اتفاقا دیجی کالا رو خیلی بررسی کردم اون دقیقا داره از url می خونه من مقدار url اون رو که تغییر می دم و رفرش می کنم اعمال می شه.

Offline منصور نظیفی (مدیر فنی)  
#6 ارسال شده : 1394/10/27 03:17:01 ب.ظ
منصور نظیفی (مدیر فنی)
رتبه : مدیر ارشد
امتیاز
مدال :
اعضای رسمی دی ان ان پلاس: اعضای رسمی دی ان ان پلاسمتخصص دی ان ان: متخصص دی ان ان
تاریخ عضویت : 1394/01/13
ارسالها : 186 نوشته

( 50 تشکر دریافتی در 47 ارسال )
خوب دوست عزیز منم همین و میگم دیگه

به کمک جاوااسکریپت هر اپشنی که کاربر تغییر داد تو ادرس صفحه اضافه کن و درخواست رو با جیسون رد و بدل کن.

شما گفتین لازمه کاراکتر زیادی تو ادرس بزارم این روش و پیشنهاد دادم.

thanks 1 کاربر از منصور نظیفی (مدیر فنی) برای ارسال مفیدش تشکر کرده است.
محمد حسن پور در تاریخ 1394/10/27
کاربرانی که در حال مشاهده انجمن هستند
Guest (2)
رفتن به انجمن  
شما نمی توانید مطلب جدید در این انجمن ایجاد کنید
شما نمی توانید برای مطالب ارسالی پاسخ ارسال کنید
شما نمی توانید مطلب ارسالی خود را حذف کنید
شما نمی توانید مطلب ارسالی خود را ویرایش کنید
شما نمی توانید در مطلب ارسالی خود نظرسنجی ایجاد کنید
شما نمی توانید در این انجمن نظر دهید

اطلاع رسانی

Icon
Error

پشتیبانی آنلاین تلگرامی

پرسش و پاسخ در مورد دی ان ان / دات نت نیوک

مرجع دی‌ان‌ان فارسی و دات‌نت‌نیوک فارسی در ایران با نام تجاری دی‌ان‌ان پلاس ارائه انواع ماژول و پوسته دی ان ان انتشار آخرین نسخه بومی پلتفرم دی ان ان فارسی (دی‌ان‌ان فارسی) یکی از بهترین CMS ها برای سایت های سازمانی و شرکتی و استارت اپ‌ها
دی ان ان