Domanda

Ho un ASP.NET la pagina che ha un gestore di script su di esso.

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

La pagina sostituzioni di una proprietà astratta per tornare ScriptManager al fine di consentire la pagina di base da utilizzare è:

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

    ...
}

E la pagina di base:

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

    ...
}

Quando ho eseguito il progetto, ottengo il seguente errore del parser:

Messaggio Di Errore Del Parser: La classe di base comprende il campo 'scriptManager2', ma il suo tipo di Sistema.Web.Interfaccia utente.ScriptManager) non è compatibile con il tipo di controllo (il Sistema.Web.Interfaccia utente.ScriptManager).

Come posso risolvere questo problema?

Aggiornamento:Il gestore di script parte del progettista del file è:

protected global::System.Web.UI.ScriptManager scriptManager;
È stato utile?

Soluzione

Riesco a compilare l'esempio di codice correttamente, si dovrebbe controllare il vostro file di progettazione per assicurarsi che tutto è ok.

EDIT:l'unica altra cosa che posso pensare è che questo è una sorta di problema di riferimento.È il vostro Sistema.Web.Estensioni di riferimento utilizzando la versione corretta per il tuo mirate quadro?(dovrebbe essere 3.5.0.0 per .net 3.5 e 1.0.6 xxx per il 2.0)

Altri suggerimenti

Ho scoperto che il mio Sistema di riferimento.Web.Estensioni (v3.5.sth) biblioteca, non hanno la stessa versione con la di riferimento nel web.config (v. 1.0.6 sth).Sostituzione della dll (3.5) con la vecchia versione di Sistema.Web.Estensioni risolto il problema.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top