用户控件在Visual Studio 2015中不起作用

时间:2016-01-21 12:20:26

标签: asp.net vb.net visual-studio user-controls

ASPX文件中不再提取正在运行的用户控件。

ASPX文件

<%@ Register TagPrefix="Uc1" TagName="ContactForm" Src="~/Controls/VFEmailForm.ascx"  %>

<uc1:VFEmailForm ID="VFEmailForm" runat="server" />

它正在运作,但现在却没有。 uc1:VFEmailForm下会出现绿线,当您键入Uc时,intellisense不会显示Uc1。好像寄存器语句不起作用 - 显然它没有。在升级到Visual Studio 2015之前,这一切都正常。

我已经展示了我的web.config文件的一部分,因为古代帖子暗示这可能是原因。

Web.config

<pages>
  <namespaces>
    <add namespace="System.Web.Optimization" />
  </namespaces>
  <controls>
    <add tagPrefix="webopt" assembly="Microsoft.AspNet.Web.Optimization.WebForms" namespace="Microsoft.AspNet.Web.Optimization.WebForms" />
    <add tagPrefix="ajaxToolkit" assembly="AjaxControlToolkit" namespace="AjaxControlToolkit" />
  </controls>
</pages>

如果有一位大师可以解决这个问题,我会很感激。

3 个答案:

答案 0 :(得分:0)

我很久以前也处于你的境地。

1.尝试在两行中使用相同的标记名称: 与你的情况一样

<%@ Register TagPrefix="uc1" TagName="ContactForm" Src="~/Controls/VFEmailForm.ascx"  %>
<uc1:ContactForm ID="VFEmailForm" runat="server" />
  1. 如果有帮助那么确定,否则在进行此更改后,请尝试重新启动visual studio。 这个程序帮助了我。

答案 1 :(得分:0)

在x64下构建时遇到了同样的问题。我切换到x86,重建了项目,VS 2015按预期工作。

答案 2 :(得分:0)

我使用 Visual Studio 2017,并遇到了类似的问题:tagName 下方有绿色波浪线,而不是整条线,即 <Uc1:***ContactForm*** ...>。作为其中的一部分,我收到此错误:

<块引用>

元素 ContactForm 不是已知元素。

A solution posted by @mitoutsnd on ASP.NET 通过建议我使用解决了这个问题:

构建 > 重建解决方案

这解决了我的问题。