单击target=_blank的LinkButton后,如何防止在新窗口中打开回发

本文关键字:何防止 在新窗口中打开 LinkButton target blank 单击 | 更新日期: 2023-09-27 17:59:47

摘要:我有一个GridView,它的TemplateField只包含一个ASP.NET链接按钮。我的链接按钮如下:

<asp:LinkButton ID="lbDoc" runat="server" OnClientClick="document.forms[0].target ='_blank';" OnCommand="ProcessRequest" Text='<%# Eval("Title").ToString() %>' CommandArgument='<%# Eval("ID").ToString() %>' />

请注意控件的CommandArgument和OnCommand属性。每个按钮都需要根据CommandArgument执行一些服务器端处理,并最终重定向并在新窗口中显示PDF。重要提示:我不仅仅是链接到PDF URL,所以我不能使用HyperLink控件或简单的锚标记。服务器端处理是关键,也是必需的。

问题:在运行时,一旦用户单击其中一个链接按钮,PDF就会根据需要加载到新窗口中,但之后的所有回发也会加载到新的浏览器选项卡/窗口中。我有一个DropDownList(带AutoPostback),它可以重新查询并重新绑定我的GridView-如果用户在单击其中一个链接按钮后在这些DropDownLists中选择了不同的筛选选项,则结果会发布回新的浏览器选项卡/窗口中这就是问题所在-用户最终会看到一堆选项卡/窗口。

我尝试过的用户Pow Ian在这里描述了同样的问题,但提出的Javascript解决方案对我不起作用。我尝试过这样的纯Javascript解决方案,但也不起作用。它会在生成的标签上显示target='_blank',但由于某种原因,它不会在新的浏览器选项卡中处理链接。

有什么建议吗?

单击target=_blank的LinkButton后,如何防止在新窗口中打开回发

添加以下代码以防止post-back。

lbDoc.Attributes.Add("onclick","return false;");