我正在尝试右键单击LinkButton并在新选项卡中打开它或单独显示窗口页面。我找到了一些使用超链接按钮的解决方案,因为它具有将目标设置为“_blank”的属性,但LinkButton没有任何目标属性。
我想使用LinkButton而不是超链接按钮,这只是因为我无法在超链接按钮上设置命令参数或命令名称,并且无法在其上触发事件。
<asp:LinkButton ID="lnkHeadingHindi" Text='<%#Patrika.Common.ConvertNews(Eval("strMainHeadingHin").ToString())%>' CommandArgument='<%#Eval("intNewsId") %>' runat="server"></asp:LinkButton>
如果有人有解决方案,如果有任何疑虑,请告诉我,这将是很好的。
谢谢!
答案 0 :(得分:1)
根据this question的已接受答案,如果您要执行POST(例如LinkButton
),但在新窗口中打开结果,则需要添加{{1到页面上的表单,而不是链接本身。
显然,当您最初呈现页面时,您不希望这样做,因为导致回发的所有将在新窗口中打开。
相反,请尝试将以下属性添加到target="_blank"
:
LinkButton
这将在表单通过单击链接回发之前动态设置表单属性。
请注意,这不会提供您想要的右键单击功能,但 可以在左侧单击的新窗口中打开。
如果您无法访问JQuery,则需要执行类似
的操作OnClientClick="$('form').attr('target', 'blank')"
答案 1 :(得分:0)
来自docs
使用LinkButton控件在网页上创建超链接样式按钮。 LinkButton控件具有与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>