首页 > 解决方案 > 为什么“_Blank”不会导致 URL 在新的浏览器窗口中打开?

问题描述

我有这段代码,使用 Target="_blank" 应该在新选项卡中打开“NavigateURL”:

<div class="row">
    <asp:HyperLink ID="HyperLink3" runat="server" NavigateUrl="https://www.amazon.com/Rebel-Cause-Twains- 
        Hidden-Memoirs/dp/107331071X/garrphotgall-20">
        <asp:image runat="server" ImageUrl="Images\RWAC_BothCovers.jpg" 
            style="width:144px;height:120px;margin-left: 60px;" /><br />
        <asp:Label runat="server" Target="_blank"></asp:Label>
    </asp:HyperLink>
</div>

...但事实并非如此;这是因为它是我网站的“测试”版本,从 Visual Studio (IIS Express (Google Chrome)) 运行?或者它在“现实世界”中也不能正常工作?如果是这样,我该怎么做才能解决它?

我不知道为什么标签需要在那里(我从其他地方复制了这个想法),但即使我在 asp:Hyperlink 的主要部分中添加了Target="_blank"(在 asp:Label 之外) -无论我是否将标签完全取出——它的工作原理都是一样的(它不能正常工作,或者正如我所期望的那样)。

标签: htmlasp.neturlhyperlinknavigateurl

解决方案


问题应该很明显:Target="_blank"在错误的元素上。事实上,我根本不需要标签。

将指令放在正确的位置(在 asp:HyperLink 上):

<div class="row" style="justify-content:center;padding-top: 8px;padding-bottom: 4px;">
    <asp:HyperLink ID="HyperLink10" runat="server" Target="_blank" 
            NavigateUrl="https://www.amazon.com/Adventures-Screen-Trade-William- 
            Goldman-ebook/dp/B007Z7UDF8/garrphotgall-20">
        <asp:image runat="server" 
            ImageUrl="Images\Goldman_AdventuresInTheScreenTrade.jpg" 
            class="img-fluid" style="width:144px;height:144px;border: 2px solid blue;" 
            />
    </asp:HyperLink>
</div>

...使其工作正常 - 单击图像会打开一个新选项卡。


推荐阅读