【问题标题】:Parser error when using ScriptManager使用 ScriptManager 时出现解析器错误
【发布时间】:2010-09-10 19:30:31
【问题描述】:

我有一个 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;

【问题讨论】:

  • 您的设计器文件在页面中是什么样的?听起来它不喜欢控件的设计器定义。

标签: asp.net asp.net-ajax scriptmanager


【解决方案1】:

我可以很好地编译你的代码示例,你应该检查你的设计器文件以确保一切正常。

编辑:我能想到的唯一另一件事是这是某种参考问题。您的 System.Web.Extensions 引用是否为您的目标框架使用了正确的版本? (对于 .net 3.5 应该是 3.5.0.0,对于 2.0 应该是 1.0.6xxx)

【讨论】:

    【解决方案2】:

    我发现我引用的 System.Web.Extensions (v3.5.sth) 库与 web.config (v.1.0.6sth) 中的引用没有相同的版本。用旧版本的 System.Web.Extensions 替换 dll (3.5) 解决了这个问题。

    【讨论】:

    • 哈!我们一定是同时输入的!恭喜您解决了问题!
    猜你喜欢
    • 1970-01-01
    • 2018-12-31
    • 2022-12-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-19
    • 1970-01-01
    相关资源
    最近更新 更多