ASP.NET控件未被识别

5
我刚刚安装了Visual Studio 2010的发布版本,但似乎标准的ASP.NET服务器控件出了一些问题。
当我创建基本的服务器控件,如文本框时,编辑器会将其用绿色下划线标记,并显示以下信息(我也无法为ASP.NET控件获得智能感知): 元素'TextBox'不是已知元素。这可能是由于网站中存在编译错误或Web.config文件丢失导致。 网站构建正常,而且Web.config文件没有丢失。
<?xml version="1.0"?>
<configuration>
<system.web>
  <compilation debug="false" targetFramework="4.0" />
</system.web>
</configuration>

这些控件在代码后端可以正常工作,在运行站点时它们也能正常运行。

这里是否存在某些配置问题?

4个回答

14

这位是Visual Web Developer团队的测试人员,他提供了一个解决方法,似乎很有效:

关闭VS,删除模式缓存,然后重新打开VS。你可以在类似以下路径下找到这些模式:

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

这个文件夹中的所有文件都可以安全删除。

同样也适用于我使用VS.NET 2013,只需将“10.0”替换为“12.0”。 - JohnH

3

我遇到了同样的问题,但是清除缓存并没有解决它。

然而根据其他答案,我修改了.aspx文件中已设置的主页路径(MasterPageFile="~/MasterPage.master")为不存在的内容,保存文件,然后将其改回原始路径。这之后下划线消失了,智能感知正常工作。

有趣的是,这仍然是一个问题,到了2020年还是如此。使用VS2019社区版。


在相同的 VS 版本中,对我起了很好的作用。 - DanIreland

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;

0

关于您的解决方案对我无效的问题延伸。

我在我的SharePoint 2010应用程序页面中看到了这个问题,这些页面在Page标记中没有指定masterpageurl。

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接