我想判断登陆,如果登陆成功则弹出
outMessage = "<script>a=window.open('../new/MainFrame.asp','main','top=0,left=0,width='+(screen.width-9)+',height='+(screen.height-55));a.focus();</script>"但为什么新窗口不在最前面

解决方案 »

  1.   

    我是这样解决的:
     在Page_Load事件里最后面加下面的代码:
    Page.RegisterStartupScript("focus","<script>if (a!=null) a.focus()</script>");注意不能放在  if (!this.IsPostBack) 里.
    首次执行页面出错,你可以考虑写成客户端函数并加错误处理.期待有更好的方法!!!!!
      

  2.   

    用模态窗口,不就在最前面了么
    window.showModalDialog("aa.aspx?value=aa", window, "dialogWidth:410px;dialogHeight:320px;status=no;help=no");
      

  3.   

    两位说的方法都不行啊
    好像jonly说的方法更令人期待
    我的是个很短的判断登陆的代码,哪位朋友有时间帮我测一下,送100分
    我的QQ:59853350
      

  4.   

    在要打开新的窗口的任何一个地方加一个Page.RegisterStartupScript就可以啦,例如一个textbox
      

  5.   


    1、在 Page_Load 事件里private void Page_Load(object sender, System.EventArgs e)
    {
    //这里是你的其它代码
    if (!this.IsPostBack)
    {
    //这里是你的其它代码
    }
    //这里是你的其它代码
    //在最后加这一行代码
    Page.RegisterStartupScript("focus","<script>if (a!=null) a.focus()</script>");
    }2、在当前页的HTML页里面
       在<HEAD></HEAD>之间加以下代码:<HEAD> //这里是系统生成的代码
    ......
    //增加下面的代码
    <script>
    function setFocus()
    {
    try
    {
    if(a=null) a();
    }
    catch(e)
    {}
    finally
    {}
    }
    </script>
    </HEAD>
      

  6.   

    这个写错了改正if(a!=null) a.focus();
      

  7.   

    感谢Jonly(只求开心),我下星期一试下,但是感觉好像太长了
    不知道其它的朋友还有没有更好的办法