سؤال

لدي صفحة ASP.NET بها مدير البرامج النصية.

<form id="form1" runat="server">
    <div>
        <asp:ScriptManager EnablePageMethods="true" ID="scriptManager2" runat="server">
        </asp:ScriptManager>
    </div>
</form>

تتجاوز الصفحة خاصية مجردة لإرجاع ScriptManager لتمكين الصفحة الأساسية من استخدامها:

public partial class ReportWebForm : ReportPageBase
{
    protected override ScriptManager ScriptManager
    {
        get { return scriptManager2; }
    }

    ...
}

والصفحة الأساسية:

public abstract class ReportPageBase : Page
{
    protected abstract ScriptManager ScriptManager { get; }

    ...
}

عندما أقوم بتشغيل المشروع، أحصل على خطأ المحلل اللغوي التالي:

رسالة خطأ المحلل: تتضمن الفئة الأساسية الحقل 'scriptManager2'، لكن نوعه (System.Web.UI.ScriptManager) غير متوافق مع نوع التحكم (System.Web.UI.ScriptManager).

كيف يمكنني حل هذا؟

تحديث:جزء مدير البرنامج النصي من ملف المصمم هو:

protected global::System.Web.UI.ScriptManager scriptManager;
هل كانت مفيدة؟

المحلول

يمكنني تجميع نموذج التعليمات البرمجية الخاص بك بشكل جيد، ويجب عليك التحقق من ملف المصمم الخاص بك للتأكد من أن كل شيء على ما يرام.

يحرر:الشيء الآخر الوحيد الذي يمكنني التفكير فيه هو أن هذه مشكلة مرجعية من نوع ما.هل يستخدم مرجع System.Web.Extensions الإصدار الصحيح لإطار العمل المستهدف؟(يجب أن يكون 3.5.0.0 لـ .net 3.5 و1.0.6xxx لـ 2.0)

نصائح أخرى

لقد اكتشفت أن مكتبة System.Web.Extensions (v3.5.sth) المشار إليها لا تحتوي على نفس الإصدار مع المرجع في web.config (v.1.0.6sth).أدى استبدال dll (3.5) بالإصدار القديم من System.Web.Extensions إلى حل المشكلة.

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