شريط تحديث ASP.NET MVC مع رابط AJAX
-
01-10-2019 - |
سؤال
أحاول إنشاء معرض يحركه أياكس حيث يتم تحميل كل صورة في تسلسل مع Ajax.Actionlink
.
يمكن للمستخدم الوصول إلى أي صورة معينة عن طريق تمرير معلمة إلى طريقة الإجراء ، على سبيل المثال: Gallery/Index?photo=100
المشكلة هي أنه عندما يقوم المستخدم بركوب الدراجات عبر الصور مع Ajax.Actionlink
لم يعد عنوان URL يتم تحديثه (بالطريقة التي سيكون بها خلال ما بعد الظهور العادي) حتى لا يتمكنوا من نسخ المعجون من شريط العناوين للعودة إلى الصورة.
سؤالي هو: ما هي أفضل طريقة لحل هذه المشكلة في ASP.NET MVC؟ أحد الأشياء التي كنت أفكر فيها هو تحديث شريط العناوين مع علامات التصنيف ، لكن بصراحة لا أعرف ما إذا كان هذا نهجًا جيدًا.
يمكنني استخدام بعض النصائح الأفضل الممارسات حول كيفية حل هذه المشكلة. أي اقتراحات ستكون موضع تقدير كبير ، شكرًا لك.
المحلول
إذا كنت ترغب حقًا في تحديث شريط العناوين مع كل تحديث Ajax ، فهناك بعض مكتبات JQuery / JavaScript التي يمكنك استخدامها كما هو موضح في منشور المدونة هذا: http://stephenwalther.com/archive/2010/04/08/jquery-asp-net--browser-history
ومع ذلك ، فإن حل أفضل الممارسات هو عادة عدم محاولة مزيف شيء من هذا القبيل (سيكون خطأ فقط). إذا كنت ترغب في منح المستخدمين لديك القدرة على المشاركة أو الارتباط بالصورة هو تزويد الحقل بعنوان URL المناسب أو الرابط الثابت لعنوان URL الذي يمكنهم نسخه من. لدى Google Maps مثالًا جيدًا على ذلك - إذا كنت تريد مشاركة خريطة مع شخص آخر.
نصائح أخرى
سأبحث في إعادة كتابة طرقك لتشمل معرف الصورة في المسار.
على سبيل المثال ،/معرض/فهرس/100 بدلاً من؟ الصورة = 100. هذا هو السبب في أن أساليب ActionLink الخاصة بك لا تعمل كيف ينبغي ، لأن QueryString ليست جزءًا من المسار.