Visual Studio 在不再存在的 ASP.NET 中呈现控件

Visual Studio renders a control in ASP.NET that does not exist anymore

提问人:FreeZerDel 提问时间:11/13/2023 最后编辑:FreeZerDel 更新时间:11/13/2023 访问量:35

问:

我正在开发一个 ASP.NET WebForms 应用程序,直到今天,它从未给我带来过问题。但是今天我发现了一些奇怪的东西,没有找到任何解决方案。我有这个代码:

<a id="goToProductDetailed" runat="server" href="ProductDetailed.aspx" onclick="SetCurrentUrl();">
    <div class="img2">
        <img src='images/test.png'/>
        <div class="promo">
            <asp:Label ID="lblPromo" runat="server" Text='Test' />
        </div>
        <div class="promoImage" id="divFotoRegalo" runat="server" visible="false">
            <a title="Check Product in sale" id="goToProductSale" runat="server">
                <img id="imgFotoRegalo" runat="server">
             </a>
         </div>
    </div>
</a>

这代表一个基本的产品卡,当用户点击它时,它会转到另一个页面。今天,为了看看采用不同的方法会是什么样子,我把锚点放在 div 类 img2 中,并用它包围图像。我不喜欢它,所以我把它放回了div之外。但是现在,每次我在 Visual Studio 上打开 IIS Express 服务器时,它都会呈现两次定位点,一次在外部,另一次在图像周围的 div 类 img2 内。

我尝试在Firefox上打开IIS Express,它也这样做,所以我认为这不是cookie问题。但是,为了确保,我试图在 Chrome 和 Firefox 上删除它们,但没有用。我试图清理项目,重建它,但没有工作。我还关闭了Visual Studio,重新打开了它,但仍然无法正常工作。我不知道我做错了什么,也不知道如何解决这个问题,有人可以帮我吗?

C# HTML asp.net WebForms IIS-Express

评论

0赞 Jonathan Dodds 11/13/2023
您是否尝试过停止并重新启动 IIS Express Web 服务器?
0赞 FreeZerDel 11/13/2023
是的,先生,我已经试过了,它只是一直给我相同的输出。如果我将锚点的位置更改为其他位置,“第二个”会消失,但在我想要的位置,即在 div 类 img2 的外部,它会自动生成一个孪生体,即使具有相同的 id,这甚至没有任何意义
0赞 FreeZerDel 11/13/2023
更新:它以某种方式保存了页面的状态,所以当我更改某些内容时,它会变得正常,但是当我完全按照我想要的方式放置代码时,它就会出错。如果我评论 promoImage div 锚点,第一个包含一切的锚点不再出错......
0赞 pkExec 11/14/2023
你的第一个锚点是无效的,因为锚点不能包含 div 元素,或者如果你包含,那么它们就不能包含其他交互式元素。在这里查看 stackoverflow.com/a/1828032/1543677 您将遇到无效 HTML 的各种麻烦。这就是为什么当您删除有问题的锚点时,它不会“错误”。
0赞 FreeZerDel 11/14/2023
好吧,从技术上讲,这可能是真的,但它工作得很好,从来没有给我带来问题,所以我不明白为什么它是无效的。另外,它现在正在工作,我重新启动了计算机,它刚刚恢复正常。但是我想知道,如果锚点对于点击卡片无效,那么当我点击卡片时,我应该怎么做才能转到某个页面?

答: 暂无答案