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

在我的应用程序中,我有一些链接button,但是当我右键点击它们时,我不能(它们处于禁用模式)find菜单项Open in new tab Open in new windowOpen in new window

如何显示这些菜单项?

代码示例:

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

从文档 :

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

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

根据你想要做什么你可以:

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

尝试通过添加以下onClientClick事件。

OnClientClick =“aspnetForm.target ='_ blank';”

所以点击它会调用Javascript函数将会在News选项卡中打开相应的链接。

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

这是你的标签。

 <asp:LinkButton ID="LinkButton1" runat="server">Open Test Page</asp:LinkButton> 

这里是你的代码背后的代码。

 LinkButton1.Attributes.Add("href","../Test.aspx") LinkButton1.Attributes.Add("target","_blank") 

希望这会对某人有所帮助。

编辑要使用模板字段内的链接button执行相同操作,请使用以下代码。

使用GridView_RowDataBound事件来查找链接button。

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

这不是完美的,但它的工作原理。

 <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> 
  1. LinkBut​​ton执行HTTP POST操作,你不能在这里改变post目标。
  2. 并非所有浏览器都支持将表单发送到新的目标窗口。
  3. 为了发布,你必须改变你的“表格”的目标。
  4. 你可以使用一些JavaScript解决方法来改变你的POST目标,通过改变窗体的目标属性,但浏览器会给用户一个警告(IE Does),这个页面试图在新窗口上发布数据,你想继续等。

尝试find生成的aspx中的表单元素的ID,你可以改变目标像…

 getElementByID('theForm').target = '_blank' or 'myNewWindow' 

当LinkBut​​ton Enabled属性为false时,它只是呈现一个标准的超链接。 当你右键单击任何禁用的超链接,你不会得到任何打开的选项。

尝试

 lbnkVidTtile1.Enabled = true; 

如果我误解了,我很抱歉。 我可以确保你了解LinkBut​​ton的目的吗? 这是给出一个超链接的外观,但一个button的行为。 这意味着它将有一个锚定标记,但有一个JavaScript连线,执行一个回发到页面。 如果你想链接到另一个页面,那么在这里推荐你使用一个标准的HyperLink控件。

它引发错误。

Microsoft JScript运行时错误:'aspnetForm'未定义

  <asp:LinkButton ID="LinkButton1" runat="server" target="_blank">LinkButton</asp:LinkButton> 

使用target =“_ blank”,因为它会创build锚点标记。 以上代码生成以下HTML

 <a id="ctl00_ContentPlaceHolder1_LinkButton1" target="_blank" href="javascript:__doPostBack('ctl00$ContentPlaceHolder1$LinkButton1','')">LinkButton</a>