Ajaxcontroltoolkit 15.1.2 Tabcontainer 问题

Ajaxcontroltoolkit 15.1.2 Tabcontainer problems

我刚刚将旧版 Web 应用程序从 .NET 3.5 升级到 .NET 4.5。该应用程序广泛使用了 AjaxControlToolkit。由于新版本从 2015 年 5 月 开始可用,我也对其进行了升级。

我收到了几个错误,所以我尝试从头开始创建一个空项目,通过 Nuget 添加 AjaxControlToolkit,看来问题是由 TabContainer 控件引起的。

我收到如下图所示的错误:

SCRIPT1028: Expected identifier, string or number

0x800a139e - JavaScript runtime error: Sys.ArgumentUndefinedException: Value cannot be undefined.

很明显,在出现这些错误后,页面中没有 TabContainer。

奇怪的是它只发生在 Internet Explorer 9+ 中。它在 Firefox 和 Chrome.

中就像一个魅力

应用程序几乎为空,这里是页面中的相关代码:

<asp:ScriptManager ID="sm" runat="server">
</asp:ScriptManager>
<ajaxToolkit:TabContainer ID="tc" runat="server">
    <ajaxToolkit:TabPanel ID="tp1" runat="server">
        <HeaderTemplate>
            Header
        </HeaderTemplate>
        <ContentTemplate>
            Content
        </ContentTemplate>
    </ajaxToolkit:TabPanel>
</ajaxToolkit:TabContainer>

有什么想法吗?

看来您必须使用捆绑来让它工作。

在问题中提到的项目中,我使用 nuget.

添加了 AjaxControlToolkit 15.1.2 参考

为了解决这个问题,我按照 CodePlex:

中的说明启用了捆绑
  1. 使用 nuget
  2. 添加对 AjaxControlToolkit.StaticResources 的引用
  3. ScriptManager 更改为以下内容:

    <asp:ScriptManager runat="server">
        <Scripts>
            <asp:ScriptReference Path="~/Scripts/AjaxControlToolkit/Bundle" />
        </Scripts>
    </asp:ScriptManager>
    
  4. 将以下内容添加到 <head> 元素:

    <asp:PlaceHolder runat="server">
        <%: System.Web.Optimization.Styles.Render("~/Content/AjaxControlToolkit/Styles/Bundle") %>
    </asp:PlaceHolder>
    
  5. 确保你在 web.config:

    中有这个
    <ajaxControlToolkit useStaticResources="true" renderStyleLinks="false" />