日期:2014-05-18  浏览次数:20391 次

window.open刷新问题。大家帮忙看下啊。。。我已经搞了三天了。没弄明白。这个是什么原因。。
点击主页面里面 ”搜索“ 一个链接,弹出一个新窗口。然后关掉这个弹出来的窗口。刷新主页面,又会弹出来一个刚才弹出来的窗口。在这之前有个提示是“不重新发送信息,则无法刷新网页。。。。。”不知道为什么老是一刷新就弹出这个窗口。不过
不点击 ”搜索“ 的话,点击其它的页面的随便一个链接,关掉弹出来的窗口,刷新主页面,就不会弹出新窗口了。。下面是里面的一些部分代码,请帮我看一下。。。
  //找工作
  protected void butJob_ServerClick(object sender, EventArgs e)
  {
  string strWhere = string.Empty;
  string strKeyWord = string.Empty;
  DateTime time = Convert.ToDateTime(System.DateTime.Now.ToString("yyyy-MM-dd"));
  #region 地区搜索
  strWhere += " and WillCity like '%" + this.dropJobProvince.SelectedValue.ToString() + "%'";
  strWhere += " and WillCity like '%" + this.dropJobCity.SelectedValue.ToString() + "%'";
  #endregion
  //关键字搜索
   
  if (this.txtJobKey.Value != "")
  {
  strKeyWord += " and JobName like '%" + this.txtJobKey.Value.Trim() + "%'";
  this.txtJobKey.Value = " ";
  }
   
  strKeyWord = strKeyWord + strWhere;
  Session.Add("company", strKeyWord);
  this.Page.RegisterStartupScript("message", "<script language='javascript' defer>window.open('/Search/CompanyList.aspx','_blank');</script>");
  }


------解决方案--------------------
刷新主页面的时候是怎么刷新的,如果用reload应该会说重新发送信息,如果重写location应该就不会吧
------解决方案--------------------
C# code

    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
            Button1.Attributes.Add("onclick", "javascript:window.open('/Search/CompanyList.aspx','_blank');");
    }

------解决方案--------------------
这是很正常的啊,因为你点击搜索就是把一些值(搜索的关键字)post到服务器端了
那你刷新是把值再post一次呢,还是不要post呢?页面无法分辨,所以会问你。