Response.Write("<script>alert('投票成功,谢谢您的参与';window.open='login_vote.aspx?Page='"+Session["PageIndex"].ToString()+"';</script>");  我想通过JAVASCRIPT语句实现弹出对话框转向到另一个页面,但是这当中需要传值和获取Session的值,请问该怎么写语句,我以上语句是错误的,但是不知道该怎么修改,望大家帮忙下,谢谢~!我从网上搜到window.open的方法可以带参数传值,希望各位指教一下!

解决方案 »

  1.   

    Response.Write("<script>alert('投票成功,谢谢您的参与';window.open='login_vote.aspx?Page=" + Session["PageIndex"].ToString() + "; </script>");  
      

  2.   

    Session 中的值是不用传的。
    只要会话不断开的话,Session中的值就会保存。
    你下一个页面可以直接用Session["PageIndex"].ToString()这个值。
      

  3.   

    Response.Write(" <script>alert('投票成功,谢谢您的参与');window.open='login_vote.aspx?Page=‘ (多余的)"+Session["PageIndex"].ToString()+"'; </script>"); 少了半边括号,多了个引号
      

  4.   

    同意,既然用Session,为什么还要用URl参数?
    Response.Write(" <script>alert('投票成功,谢谢您的参与 ');location.href='login_vote.aspx'; </script>"); 
      

  5.   

    Response.Write("<script>alert('分配成功');window.location='login_vote.aspx?Page=" + Session["PageIndex"].ToString()+ "';</script>");太简单了,,,
      

  6.   

    感谢以上朋友的回答,因为是这样的,投票的选手是分页的,比如说我现在到了100页,然后随便点一个选手进去投票,完了之后我还是让用户回到100页,所以才用到传值,而这个值是根据Session来确定。现在去试下3楼朋友的方法看看。
      

  7.   


    这样吧Response.Write(" <script>alert('投票成功,谢谢您的参与');window.href='login_vote.aspx?Page="+Session["PageIndex"].ToString()+"'; </script>"); 
      

  8.   

    ClientScript.RegisterStartupScript(Page.GetType(), String, "<script>alert('投票成功,谢谢您的参与');window.href='login_vote.aspx?Page="+Session["PageIndex"].ToString()+"'; </script>");
      

  9.   

    window.open= 是什么意思
    不是window.open(...)么?
      

  10.   

    建议不用Response.write();弹出对话框,那样的话,如果页面用了样式,弹出框后那样式就会失效推荐:
    Page.ClientScript.RegisterStartupScript(Page.GetType(), String, " <script>alert('投票成功,谢谢您的参与');window.location='login_vote.aspx?Page="+Session["PageIndex"].ToString()+"';</script>");Page.ClientScript.RegisterStartupScript这个方法是在客户端注册一段脚本;