在每次提交时启动一个新的IE窗口

时间:2011-01-26 17:12:56

标签: c# javascript asp.net internet-explorer-8

我有一个asp.net“搜索”屏幕,当用户按下提交按钮时,它会在新的浏览器窗口中显示结果。

我的问题如下:

  1. 用户搜索“smith”,按提交,获取一个带有“smith”结果的新结果窗口。
  2. 用户搜索“brown”,按提交,然后重复使用上一个结果窗口。
  3. 这是我称之为OnSubmit的代码:

    string strScript = "window.open('searchresults.aspx', 'Key', 'height=500,width=800,toolbar=no,menubar=no,scrollbars=yes,resizable=yes,titlebar=yes');";
            ScriptManager.RegisterStartupScript(this, typeof(string), uniqueKey, strScript, true);
    

    我怎样才能每次都有新窗口?

    提前致谢,

    吉姆

3 个答案:

答案 0 :(得分:1)

首先,您不需要使用JS提交到新窗口。你可以使用

<form target="_blank"> ... </form>

使用此表单将始终提交到新窗口。

如果您必须使用您拥有的脚本,只需删除第二个参数open()(使其为空)。第二个参数是您创建的窗口的名称。因此,当您再次调用它时,它将重用具有相同名称的窗口。

答案 1 :(得分:0)

尝试为窗口名称指定'_blank'而不是'Key'

答案 2 :(得分:0)

将Key作为查询字符串传递,并将null传递给window.open的第二个参数。

例如:

string strScript = "window.open('searchresults.aspx?key=smith', null, 'height=500,width=800,toolbar=no,menubar=no,scrollbars=yes,resizable=yes,titlebar=yes');";
        ScriptManager.RegisterStartupScript(this, typeof(string), uniqueKey, strScript, true);