ASP.NET MVC AJAX: كيفية تحديث Ajax.actionLink نفسه على النقر

StackOverflow https://stackoverflow.com/questions/1304740

  •  19-09-2019
  •  | 
  •  

سؤال

لدي صفحة تعرض قائمة بها من العناصر ذات عدد كبير من العناصر، لكل منها خاصية منطقية، تمثل حالة ممكنة ومحلاطة.

أحتاج إلى تزويد المستخدم برابط لكل عنصر قائمة، ويجب أن يظهر نص الارتباط الحالة المعاكسة (حتى إذا تم تمكين العنصر، يجب أن يعرض نص الارتباط "تعطيل").

عندما ينقر المستخدم على الرابط للمعاقين، يجب أن يتغير نص الارتباط المقابل للعنصر إلى "تمكين" (والعكس صحيح).

أرغب في عدم إعادة تحميل القائمة بأكملها لكل نقرة فقط، فقط نص ActionLink نفسه، لذلك سؤالي هو:

هل من الممكن تحديث Action Link نفسه فقط عندما ينقر المستخدم على الرابط، أو هل يمكنني التعامل مع هذا باستخدام جافا سكريبت مخصص؟

هل كانت مفيدة؟

المحلول

بقدر ما أتذكر، يمكنك إضافة سمات HTML إلى علامة "A" عن طريق إنشاء فئة مجهولة كمعمل آخر في معظم الزائد.

خارج الجزء العلوي من رأسي يمكن كتابته مثل ما يلي:

Html.ActionLink("Name", "Action", "Controller", new { @class = 'updateId' });

(قد تكون قادرا على القيام بذلك بمعرف يفضل أن يكون أفضل من الفصل - إن لم يكن مجرد استخدام اسم فئة فريدة لتجنب تحديث عناصر متعددة.)

ثم يمكنك استخدام JavaScript للوصول إلى الفئة "UpdateID" وتغيير HTML Inner.

في حالة jQuery:

$("a.updateId").html("NewName");

نصائح أخرى

يمكن القيام بذلك باستخدام عنصر تحكم مستخدم مخصص موجود في عنصر التحديث. أ يمكن العثور على كتابة الحل هنا. وبعد لا يوجد برمجة جانبية من جانب العميل مخصص ضروري.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top