Pergunta

Eu tenho uma página ASP.NET que tem um gerente roteiro sobre ele.

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

A página substitui uma propriedade abstrata para retornar o ScriptManager, a fim de permitir que a página de base para usá-lo:

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

    ...
}

E a página de base:

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

    ...
}

Quando eu executar o projeto, eu recebo o seguinte erro do analisador:

Analisador Mensagem de erro: A classe base inclui o campo 'scriptManager2', mas seu tipo (System.Web.UI.ScriptManager) não é compatível com o tipo de controle (System.Web.UI .ScriptManager).

Como posso resolver isso?

Update: A parte gerente roteiro do arquivo de designer é:

protected global::System.Web.UI.ScriptManager scriptManager;
Foi útil?

Solução

Eu pode compilar sua amostra fina de código, você deve verificar o seu arquivo de designer para se certificar de que tudo está ok.

EDIT: a única coisa que posso pensar é que isso é algum tipo de problema de referência. É o seu System.Web.Extensions de referência usando a versão correta para o seu quadro alvo? (Deve ser 3.5.0.0 para NET 3.5 e 1.0.6xxx para 2.0)

Outras dicas

Eu descobri que meus System.Web.Extensions referenciados (v3.5.sth) biblioteca não ter a mesma versão com a referência no web.config (v.1.0.6sth). Substituir a dll (3.5) com a versão antiga do System.Web.Extensions resolveu o problema.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top