链接按钮属性在新标签中打开?

Sur*_*har 18 asp.net

在我的应用程序中,我有一些链接按钮,但当我右键单击它们我不能(它们处于禁用模式)找到菜单项Open in new tabOpen in new window.

如何显示这些菜单项?

代码示例:

<asp:LinkButton id="lbnkVidTtile1" runat="Server" CssClass="bodytext" Text='<%#Eval("newvideotitle") %>'  />
Run Code Online (Sandbox Code Playgroud)

Zha*_*uid 19

来自文档:

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

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

根据您的尝试,您可以:

  1. 使用HyperLink控件,然后设置Target属性
  2. OnClientClick属性提供一个方法,打开一个新窗口到正确的位置.
  3. 在处理PostBack的代码中,添加一些JavaScript以在PageLoad上触发,这将打开一个新的窗口正确的位置.


Sik*_*mla 17

这是你的标签.

<asp:LinkButton ID="LinkButton1" runat="server">Open Test Page</asp:LinkButton>
Run Code Online (Sandbox Code Playgroud)

这是你背后代码的代码.

LinkButton1.Attributes.Add("href","../Test.aspx")
LinkButton1.Attributes.Add("target","_blank")
Run Code Online (Sandbox Code Playgroud)

希望这对某人有所帮助.

编辑 要对模板字段中的链接按钮执行相同操作,请使用以下代码.

使用GridView_RowDataBound事件查找"链接"按钮.

Dim LB as LinkButton = e.Row.FindControl("LinkButton1")         
LB.Attributes.Add("href","../Test.aspx")  
LB.Attributes.Add("target","_blank")
Run Code Online (Sandbox Code Playgroud)


BJ *_*tel 15

尝试添加以下onClientClick事件.

OnClientClick ="aspnetForm.target ='_ blank';"

所以单击它将调用Javascript函数,将在"新闻"选项卡中打开相应的链接.

<asp:LinkButton id="lbnkVidTtile1" OnClientClick="aspnetForm.target ='_blank';" runat="Server" CssClass="bodytext" Text='<%# Eval("newvideotitle") %>'  />
Run Code Online (Sandbox Code Playgroud)


hum*_*ads 5

这不是完美的,但是可以。

<asp:LinkButton id="lbnkVidTtile1" runat="Server" 
    CssClass="bodytext" Text='<%# Eval("newvideotitle") %>'
    OnClientClick="return PostToNewWindow();"  />

<script type="text/javascript">
function PostToNewWindow()
{
    originalTarget = document.forms[0].target;
    document.forms[0].target='_blank';
    window.setTimeout("document.forms[0].target=originalTarget;",300);
    return true;
}
</script>
Run Code Online (Sandbox Code Playgroud)