链接按钮:“右键单击并在新选项卡中打开”不起作用

时间:2013-03-06 07:52:20

标签: c# asp.net vb.net c#-4.0

我正在尝试右键单击LinkBut​​ton并在新选项卡中打开它或单独显示窗口页面。我找到了一些使用超链接按钮的解决方案,因为它具有将目标设置为“_blank”的属性,但LinkBut​​ton没有任何目标属性。

我想使用LinkBut​​ton而不是超链接按钮,这只是因为我无法在超链接按钮上设置命令参数或命令名称,并且无法在其上触发事件。

<asp:LinkButton ID="lnkHeadingHindi" Text='<%#Patrika.Common.ConvertNews(Eval("strMainHeadingHin").ToString())%>' CommandArgument='<%#Eval("intNewsId") %>' runat="server"></asp:LinkButton>

如果有人有解决方案,如果有任何疑虑,请告诉我,这将是很好的。

谢谢!

5 个答案:

答案 0 :(得分:1)

根据this question的已接受答案,如果您要执行POST(例如LinkButton),但在新窗口中打开结果,则需要添加{{1到页面上的表单,而不是链接本身。

显然,当您最初呈现页面时,您不希望这样做,因为导致回发的所有将在新窗口中打开。

相反,请尝试将以下属性添加到target="_blank"

LinkButton

这将在表单通过单击链接回发之前动态设置表单属性。

请注意,这不会提供您想要的右键单击功能,但 可以在左侧单击的新窗口中打开。

如果您无法访问JQuery,则需要执行类似

的操作
OnClientClick="$('form').attr('target', 'blank')"

答案 1 :(得分:0)

来自docs

使用LinkBut​​ton控件在网页上创建超链接样式按钮。 LinkBut​​ton控件具有与HyperLink控件相同的外观,但具有与Button控件相同的功能。如果要在单击控件时链接到另一个Web页面,请考虑使用HyperLink控件。

由于这实际上并没有在标准意义上执行链接,因此控件上没有Target属性(HyperLink控件确实有目标) - 它正在尝试从文本链接向服务器执行PostBack。

根据您的尝试,您可以:

1)使用HyperLink控件,并设置Target属性

2)为OnClientClick property提供方法  这会打开一个新窗口到正确的位置。

3)在处理PostBack的代码中添加一些JavaScript以在PageLoad上触发,这将打开一个新窗口正确的位置。

如果您愿意,请单击链接按钮,然后打开新窗口

请参阅this

答案 2 :(得分:0)

像这样插入基本标签

 <head>
    <base target="_blank" />
    </head>

答案 3 :(得分:0)

如果您想使用超链接将一些信息传递到页面,请使用 QueryString 将其传递到网址。

<asp:HyperLink id="hyperlink1" 
                  NavigateUrl="~/MyPage.aspx?intNewsId=10"
                  Text="ClickMe"
                  Target="_blank"
                  runat="server"/>    

答案 4 :(得分:0)

你不能两种方式,你必须在:

之间做出选择

1)链接按钮在当前页面中执行一些代码

2)在新窗口中打开另一页的超链接

我想你想让linkbutton在新页面中执行一些代码,但这是不可能的。

或者如果你喜欢使用。愤怒标签

只需将href设置为适当的url并将目标属性设置为_blank即可将其打开到新窗口

<a href="urlOfThePage" target="_blank" >Click me</a>