gpt4 book ai didi

c# - ASP :hyperlink navigation

转载 作者:搜寻专家 更新时间:2023-11-01 04:55:52 25 4
gpt4 key购买 nike

我正在使用 asp:hyperlink 按钮打开一个条款和条件弹出窗口。超链接的代码是 -

    <asp:HyperLink ID="HyperLink4" Target="_blank"
NavigateUrl="javascript:window.open('test.aspx');"
ForeColor="#F58022" runat="server">Terms and Conditions
</asp:HyperLink>

当我在浏览器中单击此 URL 时,它会打开我的 test.aspx 页面。但是随着 test.aspx 它会打开另一个页面:

  • 页面的 URL 是:"javascript:window.open('test.aspx');"
  • 页面主体为:[object]

你能建议我如何删除这个不需要的页面吗?

谢谢

最佳答案

使用:-

<罢工>

<罢工>
<asp:HyperLink ID="HyperLink4" Target="_blank"
NavigateUrl="javascript:window.open('test.aspx'); return false;"
ForeColor="#F58022" runat="server">Terms and Conditions</asp:HyperLink>

<罢工>

问题是 window.open 返回一个窗口对象。 javascript:的目的之一“协议(protocol)”是允许 javascript 代码生成 HTML 内容,返回是遵循协议(protocol)的表达式。然后导航到包含该 HTML 的新页面。

在你的情况下,因为你有 Target="_blank"一个新页面被打开并且你的表达式返回的对象(由 window.open 打开的新窗口)调用了它的 toString() 方法,这就是显示在这个额外的窗口。

编辑:

我敲了代码,因为它不起作用。 silky 提供了正确的解决方案.但是我不会删除答案,因为对问题代码中发生的事情的解释是有效的。因此,解决方案实际上是:-

<asp:HyperLink ID="HyperLink4" href="#"
onclick="window.open('test.aspx'); return false;"
ForeColor="#F58022" runat="server">Terms and Conditions</asp:HyperLink>

Target不再需要它不被使用。保留为 HyperLink 控件,因为 OP 可能出于其他原因需要它作为页面上的控件。

关于c# - ASP :hyperlink navigation,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1392804/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com