【问题标题】:Unrecognized tag prefix or device filter (Visual Studio 2010)无法识别的标记前缀或设备筛选器 (Visual Studio 2010)
【发布时间】:2012-02-24 09:27:19
【问题描述】:

我第一次尝试使用 Visual Studio 2010 (Asp.Net 4.0)。我想用Ajax控件,主要是ComboBox控件。

我按照link 中提到的分步过程下载并安装了 AjavControlToolkit。

我还按照link 的步骤将 ComboBox 添加到我的网页。

但无论我做什么,控件下方都有一条绿线,并且我收到错误“无法识别的标签前缀或设备过滤器'ajax'”。

我的 web.config 文件如下所示:

         <configuration>
       <system.web>
    <pages>
        <controls>
            <add tagPrefix="ajax" namespace="AjaxControlToolkit" assembly="AjaxControlToolkit"/>
            <add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
            <add tagPrefix="asp" namespace="System.Web.UI.WebControls" assembly="System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
        </controls>
    </pages>
    <compilation debug="true" targetFramework="4.0">
        <assemblies>
            <add assembly="System.Web.Extensions.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
            <add assembly="System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
            <add assembly="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/></assemblies></compilation>
  </system.web>
    </configuration>

aspx 页面如下所示:

     <form id="form1" runat="server">
       <div>
        <asp:ScriptManager ID="sm" runat="server"></asp:ScriptManager>
        <ajax:ComboBox runat="server" AutoCompleteMode="SuggestAppend">
          <asp:ListItem>ddd</asp:ListItem>
          <asp:ListItem>fff</asp:ListItem>
          <asp:ListItem>gggg</asp:ListItem>
          <asp:ListItem>hhhhh</asp:ListItem>
        </ajax:ComboBox>    
       </div>
    </form>

我什至尝试从 C:\Documents and Settings\xxx\Application Data\Microsoft\VisualStudio\10.0\ReflectedSchemas 位置删除架构文件。

请帮助我成功实现 Combobox 控件。 谢谢!

已编辑:

作为一种不同的方法,我创建了一个新网站并使用 NuGet 安装了最新版本的 AjaxControlToolkit。我重建了解决方案。我仍然看不到智能感知中的 Ajax 控件。 为了实现它,还有什么需要做的吗?请帮忙!!

【问题讨论】:

  • 你有下载最新的ajax版本吗?
  • 是的。我已经下载了最新版本的 AjaxControlToolkit。我什至尝试使用 NuGet 安装它。但问题依然存在。

标签: c# asp.net visual-studio-2010 ajaxcontroltoolkit


【解决方案1】:

如果您使用的是 Visual Studio 2010,那么我建议您从 Nuget 下载 AJAXControlToolkit,如本文所示 (link)。

我昨天偶然发现了同样的问题,有效的方法是将前缀更改为“ajaxToolkit”并为脚本管理器做同样的事情,正如斯蒂芬沃尔特在这篇文章中展示的那样 (link)。请使用 ToolScriptManager 而不是 ScriptManager。

<ajaxToolkit:ToolScriptManager id="id12" runat="server"/>

【讨论】:

  • 感谢米图尔的信息。我已经尝试了你建议的一切。我仍然没有在智能感知中获得 控件。我创建了一个新网站,使用 NuGet 安装了 AjaxControlToolkit 包,但问题仍然存在。
  • 您可以尝试的另一种方法是将“添加项目”添加到您的工具箱窗口并以这种方式添加 .dll,然后您可以通过这种方式拖放控件。我认为这将解决标签前缀。
  • 我也试过了。我什至尝试安装 AjaxControlToolkit 3.5 而不是 4.0,但这也不起作用。还有其他想法吗?
  • 似乎一直在工作。我仍然在控制定义下看到绿线,上面写着“无法识别的标签前缀或设备过滤器”。但如果我继续运行该页面,它运行正常。
  • 这看起来很奇怪。我知道您一定已经这样做了,但是您是否尝试过关闭并打开 Visual Studio。有时,如果我这样做,我的波浪线会消失,因为 vs 可能会正确引用这种方式。
【解决方案2】:

虽然时间似乎已经过去了,但我有一个类似的问题,经过一些“常识”的想法得到解决,它可能会帮助其他人。

此类问题通常是由页面上的某些内容未正确加载、控件等或格式错误引起的。阻止 IDE 正确解析页面的任何内容。

在我的例子中,带有问题控件的页面有一个母版页。由于某种原因,母版页在解析 Web 实例时出现问题。母版页标题(即页面顶部的“主”标记)带有下划线,其中包含与无法将站点与特定 IIS 元数据库键(即 LM/W3SVC/12 或其他)匹配的错误相关的错误。

虽然我不知道为什么会发生这种情况(似乎是在使用 IIS Express 停止调试会话后发生)将解决方案切换到“Visual Studio 开发服务器”(即 cassini)并重新启动站点解决了母版页引用,并且因此,有问题的页面可以正确加载母版页,并且与无法识别的标签有关的问题消失了。

因此,请检查页面顶部 标记中页面本身的任何错误,并检查母版页的“升级级别”。

【讨论】:

    【解决方案3】:

    您的&lt;ajax:ComboBox /&gt; 似乎缺少ID 属性。

    ...
    <ajax:ComboBox ID="MyComboBox" runat="server" AutoCompleteMode="SuggestAppend">
    ...
    

    要强制注册 ajax 标记前缀,您可以将其添加到您的页面

    <%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="ajax" %>
    

    如果问题仍然存在,您需要检查相应的程序集是否可用。

    【讨论】:

    • 感谢菲尔伯特的回复。但是“ajax”前缀没有被识别为标签前缀。它无法识别控件的任何属性。
    【解决方案4】:

    在我的情况下,我在使用 Telerik Add Scheduler Scenario 添加页面后收到此错误。我通过在 &lt;% Page ...&gt; 行下面的 aspx 文件中添加以下行来解决它 -

    <%@ Register assembly="Telerik.Web.UI" namespace="Telerik.Web.UI" tagprefix="telerik" %>
    

    【讨论】:

      【解决方案5】:

      旧线程但新答案:)

      遇到了同样的问题。问题是错误地将多余的行复制到 Web.Config 中。这导致配置部分无效。

      修复了线条和asp标签一旦被智能感知识别。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多