1

我正在尝试右键单击 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>

如果有人有解决方案并让我知道以防万一,那就太好了。

谢谢 !!

4

5 回答 5

1

根据这个问题的公认答案,如果您想执行 POST(例如LinkButton做)但结果在新窗口中打开,您需要添加target="_blank"到页面上的表单,而不是链接本身。

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

相反,请尝试将以下属性添加到您的LinkButton:

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

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

请注意,这并没有提供您想要的右键单击功能,但它确实可以在左键单击时在新窗口中打开。

如果您无权访问 JQuery,则需要执行类似的操作

protected void Page_PreRender(object se, EventArgs e)
{
    this.Page.Form.ID = "someUniqueID"; // unless your form already has an ID
    yourLinkButton.OnClientClick =
        "document.getElementById('" +
        this.Page.Form.ClientID +
        "').setAttribute('target', '_blank')";
}
于 2013-03-06T08:31:13.323 回答
0

你不能同时拥有它,你必须在以下两者之间做出选择:

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

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

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

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

只需渲染一个将 href 设置为适当 url 的锚并将 target 属性设置为 _blank 它将在新窗口中打开 url

<a href="urlOfThePage" target="_blank" >Click me</a>
于 2013-03-06T08:13:29.037 回答
0

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

<asp:HyperLink id="hyperlink1" 
                  NavigateUrl="~/MyPage.aspx?intNewsId=10"
                  Text="ClickMe"
                  Target="_blank"
                  runat="server"/>    
于 2013-03-06T08:09:21.393 回答
0

文档

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

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

根据您要执行的操作,您可以:

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

2) 为OnClientClick 属性提供一个方法,该方法 在正确的位置打开一个新窗口。

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

如果你喜欢点击链接按钮,然后打开新窗口,

请看这个

于 2013-03-06T07:58:47.443 回答
0

像这样插入基本标签

 <head>
    <base target="_blank" />
    </head>
于 2013-03-06T08:06:28.670 回答