ToolkitScriptManager不是已知元素

时间:2013-01-10 20:48:19

标签: asp.net ajax c#-4.0 ajaxcontroltoolkit

我有一个网站,我正在使用AJAX手风琴窗格。为了充分利用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">`

2 个答案:

答案 0 :(得分:4)

找到解决方案:

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

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

答案 1 :(得分:0)

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

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

享受!