gpt4 book ai didi

asp.net - 元素 'X' 不是已知元素 - Web 应用程序

转载 作者:行者123 更新时间:2023-12-02 18:55:50 50 4
gpt4 key购买 nike

我将一个表单网站转换为一个应用程序,到目前为止一切都运行良好。我不断收到绿色波浪线和元素“X”不是已知元素的错误。这几乎适用于每个元素,Gridview、标签、更新面板、超链接字段、绑定(bind)字段等...

我的 web.config 包含

<pages theme="basic">
<controls>
<add tagPrefix="ajax" assembly="AjaxControlToolkit" namespace="AjaxControlToolkit"/>
<add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add tagPrefix="asp" namespace="System.Web.UI.WebControls" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
</controls>
</pages>

所以ajax和asp是可行的前缀。非常奇怪的是,它只发生在少数用户控件上,所有其他用户控件都很好并且错误从未出现。我已经尝试过重新启动,但似乎没有什么可以解决它。所有母版页、网页和大约 90% 的用户控件都很好,它只在少数用户控件上,非常烦人!

最佳答案

如果compilation web.config 文件中的元素具有 targetFramework="4.0"属性,我认为不再需要对 System.Web.Extensions 程序集的引用。如果您查看根级 web.config 文件 %WINDIR%\Microsoft.NET\Framework\v4.0.30319\Config ,您会注意到以下几行已位于 <controls> 中web.config 文件的部分:

<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"/>
<add tagPrefix="asp" namespace="System.Web.UI.WebControls.Expressions" assembly="System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>

<compilation><assemblies> 中还引用了 System.Web.Extensions 程序集。部分

<add assembly="System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />

以及以下<httpHandlers>也添加了

<add verb="*" path="*_AppService.axd" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="False" />
<add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="False"/>
<add path="*.asmx" verb="*" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="False" />

此外,以下<httpModules>默认注册

<add name="ScriptModule-4.0" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>

简而言之,您的 web.config 文件可能不应该包含对 System.Web.Extensions 程序集的任何引用,因为它已经在根级 web.config 文件中以几乎所有可以想象的方式被引用。

其他引用文献:How to: Upgrade an ASP.NET Web Application to ASP.NET 4

关于asp.net - 元素 'X' 不是已知元素 - Web 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3550589/

50 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com