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

时间:2010-04-14 11:56:21

标签: asp.net

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

如何显示这些菜单项?

代码示例:

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

8 个答案:

答案 0 :(得分:18)

来自docs

  

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

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

根据您的尝试,您可以:

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

答案 1 :(得分:16)

这是你的标签。

> printfn "%A" (fangle 3 4 5);;
(4, 5, 6)
val it : unit = ()

以下是您背后代码的代码。

> let (x,y,z) = fangle 3 4 5 in printfn "%i,%i,%i" x y z;;
4,5,6
val it : unit = ()

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

修改 要使用模板字段中的链接按钮执行相同操作,请使用以下代码。

使用GridView_RowDataBound事件查找“链接”按钮。

let uncurry3 f (x,y,z) = f x y z

> uncurry3 (printfn "%i,%i,%i") (fangle 3 4 5);;
4,5,6
val it : unit = ()

答案 2 :(得分:15)

尝试添加以下onClientClick事件。

  

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

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

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

答案 3 :(得分:4)

这并不完美,但确实有效。

<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>

答案 4 :(得分:1)

  1. LinkBut​​ton执行HTTP POST操作,你不能在这里更改帖子目标。
  2. 并非所有浏览器都支持将表单发布到新的目标窗口。
  3. 为了让它发布,您必须更改“FORM”的目标。
  4. 您可以使用一些javascript解决方法来更改您的POST目标,方法是更改​​表单的目标属性,但浏览器会向用户发出警告(IE确实),此页面试图在新窗口上发布数据,您想要吗?继续等。
  5. 尝试在生成的aspx中找出表单元素的ID,并且可以更改目标,如...

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

答案 5 :(得分:0)

当LinkBut​​ton Enabled属性为false时,它只呈现标准超链接。当您右键单击任何已禁用的超链接时,您无法选择打开任何内容。

lbnkVidTtile1.Enabled = true;

如果我误解了,我很抱歉。我能确保你理解LinkBut​​ton的目的吗?它给出了HyperLink的外观但是Button的行为。这意味着它将有一个锚标记,但是有一些JavaScript连接到页面执行PostBack。如果您想链接到其他页面,建议here  你使用标准的HyperLink控件。

答案 6 :(得分:0)

它抛出错误。

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

答案 7 :(得分:-4)

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

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

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