1

我有一个使用 AJAX Accordion Pane 的网站。为了充分使用RequireOpenedPane="False"我需要将其ToolkitScriptManager添加到站点。

我明白这一切,但有一个问题。Visual Studio 2012 说ToolkitScriptManager is not a known element

我有

<add tagPrefix="asp" assembly="AjaxControlToolkit" namespace="AjaxControlToolkit" />

在 web.config 文件中,以及

<asp:Accordion ID="Accordion1" runat="server" CssClass="accordion" SelectedIndex="-1" HeaderCssClass="accordionHeader" HeaderSelectedCssClass="accordionHeaderSelected" ContentCssClass="accordionContent" RequireOpenedPane="False" FramesPerSecond="25" Width="820px" >

工作没有错误。但

<asp:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server"></asp:ToolkitScriptManager>

才不是。

有趣的是,如果我ToolkitScriptManager从页面中删除 ,它将加载 Accordion,但是,并非所有功能都可以正常工作(例如,单击手风琴标题不会选择标题,它只是扩展标题,但确实不显示为“已选择”)。

该页面也有一个 MasterPage,ToolkitScriptManager 位于正文的 ContentPlaceHolder 内。(它实际上就在 Accordion 控件的上方)。为什么会这样,我该如何解决?

<%@ Page Title="" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="page.aspx.cs" Inherits="page" %>

 <asp:Content ID="Content1" ContentPlaceHolderID="HeaderContent" runat="server">
 </asp:Content>
 <asp:Content ID="Content2" ContentPlaceHolderID="MenuContent" runat="server">
 </asp:Content>
 <asp:Content ID="Content3" ContentPlaceHolderID="MainContent" runat="server">
<h1 align="center">Classes</h1>
    <asp:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server"></asp:ToolkitScriptManager>
<asp:Accordion ID="Accordion1" runat="server" CssClass="accordion" SelectedIndex="-1" HeaderCssClass="accordionHeader" HeaderSelectedCssClass="accordionHeaderSelected" ContentCssClass="accordionContent" RequireOpenedPane="False" FramesPerSecond="25" Width="820px" >
    <Panes>
        <asp:AccordionPane runat="server" ID="AccordionPane0">`
4

2 回答 2

4

找到解决方案:

显然,在 Visual Studio 2010 上使用 NuGet 安装程序获得的 AjaxControlToolkit 没有 ToolkitScriptManager。我必须删除从 NuGet 安装的 DLL 并安装我自己的 DLL,其中确实包含 ToolkitScriptManager。

我不确定为什么 NuGet 版本不包含 ToolkitScriptManager。

于 2013-01-10T22:06:45.417 回答
0

在您的解决方案 user1760784 之上,其他人可能还需要先设置 IIS 并将他们的应用程序导入其中。一旦应用程序在 IIS 中完全设置,然后尝试运行它。它应该工作。完成此过程后,我的问题得到了解决。请注意,测试 IIS 和实时/生产 IIS 都是如此。尽管我们都知道测试现场盒总是更安全。

为什么它只在 IIS 上测试时才解决?我真的不知道。但是我相信它可能是因为 http/browser 问题。也许你更聪明的人可以让我们知道这一点。

享受!

于 2015-11-06T09:16:39.920 回答