我对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”)%>
预期结果是右键单击并在新选项卡中打开该项目,并将所选项目转到其单独页面。实际上,它只会打开完全相同的东西。
答案 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事件处理程序。完成该操作后,单击鼠标右键将打开新页面。