Question

J'ai une page ASP.NET contenant un gestionnaire de script.

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

La page remplace une propriété abstraite pour renvoyer le ScriptManager afin de permettre à la page de base de l'utiliser:

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

    ...
}

Et la page de base:

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

    ...
}

Lorsque j'exécute le projet, l'erreur d'analyse suivante apparaît:

Message d'erreur d'analyse: La classe de base inclut le champ "scriptManager2", mais son type (System.Web.UI.ScriptManager) n'est pas compatible avec le type de contrôle (System.Web.UI). .ScriptManager).

Comment puis-je résoudre ce problème?

Mise à jour: La partie gestionnaire de script du fichier de concepteur est la suivante:

protected global::System.Web.UI.ScriptManager scriptManager;
Était-ce utile?

La solution

Je peux compiler votre échantillon de code, vous devriez vérifier votre fichier de concepteur pour vous assurer que tout va bien.

EDIT: la seule autre chose à laquelle je peux penser est qu’il s’agit d’une sorte de problème de référence. Votre référence System.Web.Extensions utilise-t-elle la version appropriée pour votre infrastructure ciblée? (devrait être 3.5.0.0 pour .net 3.5 et 1.0.6xxx pour 2.0)

Autres conseils

J'ai découvert que ma bibliothèque System.Web.Extensions (v3.5.sth) référencée n'avait pas la même version que la référence dans web.config (v.1.0.6sth). Le remplacement de la dll (3.5) par l'ancienne version de System.Web.Extensions a résolu le problème.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top