在所有浏览器无法正常工作的新标签页中打开链接

时间:2019-01-02 03:26:47

标签: webforms

我对Webforms应用程序有疑问。我有一个Webforms页面,显示项目目录。在演示代码上,每个项目都包含在项目模板服务器控件中,该模板包含在Repeater服务器控件中。我的问题是,当我使用任何浏览器右键单击时,它只是在新选项卡中打开同一页面。有人可以协助解决这个问题吗?

这是中继器和项目模板控件中包含的内容

'onclick ='javascript:window.location.href =“ <%#Path%>?action = detail&<%#Eval(” CatalogItemKeyQueryString“)%>”'>                                                                                      'class =“ img-fluid” style =“最大高度:200像素;最大宽度:100%” />                                                                                                                               <%#Eval(“ ItemName”)%>                                         

                                    

我尝试使用超链接控件并指向锚标签中的路径,

'onclick ='javascript:window.location.href =“ <%#Path%>?action = detail&<%#Eval(” CatalogItemKeyQueryString“)%>”'>                                                                                      'class =“ img-fluid” style =“最大高度:200像素;最大宽度:100%” />                                                                                                                               <%#Eval(“ ItemName”)%>                                         

                                    

预期结果是右键单击并在新选项卡中打开该项目,并将所选项目转到其单独页面。实际上,它只会打开完全相同的东西。

2 个答案:

答案 0 :(得分:1)

如果您将以下 JavaScript 代码添加到您的网站,则:

<script>
function openInNewTab(url) {
  var win = window.open(url, '_blank');
  win.focus();
}
</script>

然后您可以使用以下代码解决问题:

onclick='openInNewTab("<%#Path %>?action=detail&<%#Eval("CatalogItemKeyQueryString")%>"'

感谢@RintoGeorge的answer

答案 1 :(得分:0)

我能够通过将代码行<%#Path%>?action = detail&<%#Eval(“ CatalogItemKeyQueryString”)%>放入代码的href属性中来解决我的问题,而不是依赖onclick事件处理程序。完成该操作后,单击鼠标右键将打开新页面。