سؤال

أحاول استخدام مسج مسج في عنصر تحكم. الصفحات التي يمكن أن تكون عنصر التحكم قيد الاستخدام على عاتق جزئي عبر UpdatePanel. أدرج مسج ومكون البرنامج المساعد أثناء حدث Prirender الخاص بالتحكم مثل هذا:

ScriptManager.RegisterClientScriptInclude(
    this,
    this.GetType(),
    "jquery",
    "/_infrastructure/javascript/jquery.js"));

ScriptManager.RegisterClientScriptInclude(
    this,
    this.GetType(),
    "jquery.customPlugin",
    "/_infrastructure/javascript/jquery.customPlugin.js");

يقوم البرنامج المساعد JQURY JQURY JQUERY بإعداد وظيفة جديدة تسمى "exectecustompin". في وقت لاحق من حدث Prirender للرقابة، استخدم البرنامج المساعد على عنصر في عنصر التحكم:

ScriptManager.RegisterStartupScript(
    this,
    this.GetType(),
    "customPlugin init script",
    @"$(document).ready(function() {
        $('#elementId').executeCustomPlugin();
    });",
    true);

ومع ذلك، عندما ينفذ، أحصل على خطأ JavaScript:

$('#elementId').executeCustomPlugin is not a function

يبدو أنه إذا لم يتم تنفيذ البرنامج المساعد JQuery مطلقا على الإطلاق، لكنني قمت بإعداد Window.Alers في ملف JQuery.custompin.js، وهو بالفعل يتم تنفيذه.

هل هناك طريقة لحل هذه المشكلة؟

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

المحلول 2

اتضح أن مشكلتي ناجمة عن تضمين jQuery مرتين. كان أول مثيل JQuery هو الحصول على البرنامج المساعد المطبق، لكن مثيل JQuery الثاني تلقي المكالمة.

نصائح أخرى

التفسير المحتمل هو أن البرنامج المساعد الخاص بك غير موجود في DOM قبل تنفيذ رمز ScriptManager.

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

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