Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/272.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 超链接导航_C#_Asp.net_Javascript - Fatal编程技术网

C# 超链接导航

C# 超链接导航,c#,asp.net,javascript,C#,Asp.net,Javascript,我正在使用asp:hyperlink按钮打开条款和条件弹出窗口。 超链接的代码是- 条款和条件 当我在浏览器中单击此URL时,它会打开我的test.aspx页面。但是随着test.aspx它打开了另一个页面: 页面的URL是:“javascript:window.open('test.aspx');” 页面正文为:[object] 你能建议我如何摆脱这个不需要的页面吗 谢谢来吧: NavigateUrl="javascript:window.open('test.aspx'); retur

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

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

  • 页面的URL是:
    “javascript:window.open('test.aspx');”
  • 页面正文为:
    [object]
你能建议我如何摆脱这个不需要的页面吗

谢谢

来吧:

NavigateUrl="javascript:window.open('test.aspx'); return false;"
但是,更好的做法是将其放入
OnClientClick

NavigateUrl="#" OnClientClick="window.open('text.aspx'); return false"
--编辑:

条款和条件
根据评论更新。

使用:-

Target
不再需要它,不再使用。保留为超链接控件,因为可能有其他原因OP需要它作为页面上的控件。

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

是否有任何理由需要使用
超链接
控件

您可能只需要使用标准HTML链接(或控件),然后使用客户端
onclick
事件触发JavaScript:

<a id="HyperLink4" runat="server" href="test.aspx" target="_blank"
    onclick="window.open('test.aspx');return false;"
    style="color:#F58022">Terms and Conditions</a>

删除
Target=\u Blank
,您不需要它,JavaScript已经打开了一个新窗口


提示:若要了解其行为不同的原因,请在浏览器中查看源代码,并检查web控件以HTML术语生成的内容。

您应该在超链接周围包装代码标记,以便我们可以看到超链接。我不认为
超链接
控件具有
OnClientClick
事件/属性,但是关于使用客户端
onclick
事件而不是
href
事件的观点是很好的不工作….?穆罕默德和卢克:我忘了超链接没有“onclientclick”。最好还是提供
href
target
属性,以防JavaScript未启用。@Luke:为什么要提供一个从未使用过的目标?提供href不仅仅是一种很好的做法,在某些浏览器中,如果没有href,锚就不能起到锚的作用。@Anthony:如果禁用JavaScript,将使用
href
target
。拥有
href=“test.aspx”
target=“\u blank”
应该给出最接近JS行为的非JS近似值。例如,在新窗口中打开
test.aspx
。@Luke:我想这取决于你的观众。在许多intranet(以及公共)站点中,非JS只是一个非初学者,您可能在早些时候就采用了这种方式。当然,如果您所做的只是window.open,那么您就不必为onclick而烦恼了all@Anthony:的确如此,但我的客户通常要求(a)用户不应该因为没有“正确”的浏览器、没有启用JavaScript等而被任意排除在他们的网站之外;(b)当用户的浏览器功能不全时,网站应尽可能优雅地降级。客户端接受当JS不可用时某些事情是不可能的,但是如果一个简单的链接在JS关闭的情况下没有做任何事情,客户端会非常不高兴。
<asp:HyperLink ID="HyperLink4" href="#"
  onclick="window.open('test.aspx'); return false;"
  ForeColor="#F58022" runat="server">Terms and Conditions</asp:HyperLink>
 <asp:HyperLink ID="HyperLink4" Target="_blank"
        NavigateUrl="javascript:void window.open('test.aspx');"
        ForeColor="#F58022" runat="server">Terms and Conditions</asp:HyperLink>
<a id="HyperLink4" runat="server" href="test.aspx" target="_blank"
    onclick="window.open('test.aspx');return false;"
    style="color:#F58022">Terms and Conditions</a>