Frage

Ich habe eine ASP.NET-Seite, die auf es einen Skript-Manager hat.

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

Die Seite überschreibt eine abstrakte Eigenschaft, um das Script zurückzukehren, um die Basisseite zu ermöglichen, es zu benutzen:

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

    ...
}

Und die Basisseite:

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

    ...
}

Als ich das Projekt ausführen, bekomme ich die folgenden Parser-Fehler:

Parser-Fehlermeldung: Die Basisklasse enthält das Feld ‚scriptManager2‘, aber seine Art (System.Web.UI.ScriptManager) ist nicht kompatibel mit der Art der Steuerung (System.Web.UI .ScriptManager).

Wie kann ich dieses Problem lösen?

Update: Der Skript-Manager Teil der Designer-Datei ist:

protected global::System.Web.UI.ScriptManager scriptManager;
War es hilfreich?

Lösung

ich Ihr Codebeispiel fein zusammenstellen kann, sollen Sie Ihre Designer-Datei überprüfen, ob alles zu machen, ist in Ordnung.

EDIT: die einzige andere, was ich denken kann, ist, dass dies eine Art Referenz Problem. Ist Ihr System.Web.Extensions verweist die richtige Version für Ihre gezielte Framework? (Sollte 3.5.0.0 für .net 3.5 und 1.0.6xxx für 2.0 sein)

Andere Tipps

fand ich heraus, dass meine referenzierten System.Web.Extensions (v3.5.sth) Bibliothek nicht die gleiche Version mit der Referenz in web.config (v.1.0.6sth) haben. Ersetzen die DLL (3.5) mit der alten Version von System.Web.Extensions wurde das Problem behoben.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top