Ошибка парсера при использовании ScriptManager - PullRequest
3 голосов
/ 18 сентября 2008

У меня есть страница 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;

Ответы [ 2 ]

5 голосов
/ 18 сентября 2008

Я могу скомпилировать ваш пример кода, вы должны проверить файл конструктора, чтобы убедиться, что все в порядке.

РЕДАКТИРОВАТЬ: я могу думать только о том, что это какая-то справочная проблема. Использует ли ваша ссылка System.Web.Extensions правильную версию для вашей целевой платформы? (должно быть 3.5.0.0 для .net 3.5 и 1.0.6xxx для 2.0)

1 голос
/ 18 сентября 2008

Я обнаружил, что моя библиотека System.Web.Extensions (v3.5.sth), на которую ссылаются, не имеет той же версии, что и ссылка в web.config (v.1.0.6sth). Замена dll (3.5) старой версией System.Web.Extensions решила проблему.

...