ASP.NET控件无法识别

时间:2010-06-12 16:07:42

标签: asp.net visual-studio

我刚刚安装了Visual Studio 2010的发布版本,看起来标准的ASP.NET服务器控件出现了问题。

当我创建一个基本的服务器控件(例如TextBox)时,编辑器以绿色突出显示它并说(我也没有获得ASP.NET控件的智能感知):

元素'TextBox'不是已知元素。如果有编译,则会发生这种情况 Web站点中的错误,或Web.config文件丢失。

网站构建正常,Web.config文件不会丢失:

<?xml version="1.0"?>
<configuration>
<system.web>
  <compilation debug="false" targetFramework="4.0" />
</system.web>
</configuration>

控件在代码隐藏中工作得很好,并且在我运行网站时它们可以正常运行。

这里有配置问题吗?

4 个答案:

答案 0 :(得分:13)

This person谁是Visual Web开发团队的测试人员提供了这种解决方法,显然有效:

关闭VS,删除架构缓存,然后重新打开VS 。您可以在以下内容中找到模式:

C:\Users\Pavel\AppData\Roaming\Microsoft\VisualStudio\10.0\ReflectedSchemas

删除此文件夹中的所有文件是安全的。

答案 1 :(得分:1)

我遇到了同样的问题,但是删除缓存并不能解决我的问题。

但是,根据其他答案,我修改了.aspx文件(MasterPageFile =“〜/ MasterPage.master”)中已设置的母版页路径。 到不存在的内容,保存文件,然后将其更改回原始路径。在此之后,下划线消失了,智能感知正常工作了。

有趣的是,这仍然是2020年的事情。使用VS2019社区。

答案 2 :(得分:0)

问题的扩展,因为您的解决方案对我不起作用。

我在SharePoint 2010应用程序页面中看到了这一点,它没有在Page标签中指定masterpageurl。

解决方案:将MasterPageURL =“~masterurl / default.master”设置为设计器中的Page标签后,它修复了我的所有ASP标记。

答案 3 :(得分:0)

就我而言,我注意到 MyPage.aspx.designer.cs 丢失了。一旦我复制了现有文件并定义了控件,一切就设置好了。

请注意,有三个文件。

MyPage.aspx
MyPage.aspx.cs
MyPage.aspx.designer.cs

控件的定义如下所示:

  protected global::System.Web.UI.HtmlControls.HtmlInputText txtName;

    /// <summary>
    /// txtAddress control.
    /// </summary>
    /// <remarks>
    /// Auto-generated field.
    /// To modify move field declaration from designer file to code-behind file.
    /// </remarks>
    protected global::System.Web.UI.HtmlControls.HtmlInputText txtAddress;