在新标签而不是新窗口中打开URL

时间:2011-12-27 14:32:10

标签: asp.net drop-down-menu

我正在使用以下代码打开文件,其中包含来自网址的下拉列表选择值

Protected Sub ddlPS_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ddlPS.SelectedIndexChanged
        ClientScript.RegisterStartupScript(Me.GetType(), "openfile", String.Format("var w = window.open('http://foods.shakarganj.com.pk/pdf/{0}.pdf');", ddlPS.SelectedValue), True)
    End Sub

问题是当我从下拉列表中选择值时,它会在窗口中打开文件并刷新父页面。我想避免父刷新,并希望在新窗口的新选项卡中打开文件。 / p>

3 个答案:

答案 0 :(得分:1)

您的下拉列表更改导致回发到服务器。您可以避免此行为关闭自动回发并绑定客户端脚本事件以在新选项卡上打开新窗口。

您需要的解决方案:ASP.Net Open New Tab in Browser from CodeBehind

答案 1 :(得分:0)

在Firefox中,这将有效,在_newtab

上添加目标window.open
var w = window.open('http://foods.shakarganj.com.pk/pdf/{0}.pdf','_newtab');

对于IE,您必须强制用户更改浏览器配置,以便新窗口将作为选项卡打开

答案 2 :(得分:0)

要阻止页面刷新,请使用jquery打开链接: -

<script type="text/javascript">
        $(document).ready(function () {
            $('#<%=ddlPS.ClientID %>').change(function (event) {
                event.preventDefault();
                var w = window.open('http://foods.shakarganj.com.pk/pdf/' + $(this).val() + '.pdf');
            });
        });
    </script>