类似www.hexiesoft.net/hexiesoft的登录窗口我已实现,可窗口提交后它不是返回到当前对话框窗口,而是又新开了一个非对话框窗口,我不知如何写代码来实现!多谢大侠出手!

解决方案 »

  1.   

    在Form验证中,如果用户没有登陆,便会跳到一个登录页中去,然后进行登录,登录完毕之后,会跳会到原来的页面上,但是Form验证唯一不爽的要设好各个目录的权限。所以我写了一个类,可以实现Form验证,实际上原理也很容易,只是将转发的URL放在Request的要求中,转发给登录页面,当登陆页面验证完合法登录后,就将URL重定向回原来的URL #region 权限矩阵
        public class AccessMatrix
        {
            private System.Web.UI.Page _page;
            private LoginUser user;
            public AccessMatrix(System.Web.UI.Page page)
            {
                _page = page;
            }
            public void CheckBasicView()
            {
                try
                {
                    user = (LoginUser)_page.Session["LoginUser"];
                    if (!user.BasicView)
                       _page.Response.Redirect("Login.aspx?url="+HttpUtility.HtmlEncode(_page.Request.RawUrl));
                    
                }
                catch
                {
                    _page.Response.Redirect("Login.aspx?return="+HttpUtility.HtmlEncode(_page.Request.RawUrl));
                }
            }
        }
        #endregion 在各个需要验证的页面中的Page_Load事件中写上AccessMatrix matrix=new AccessMatrix() 
    matrix= CheckBasicView();其中user.BasicView是一个bool量,表示查看基本视图的权限。
    在Login.aspx中if (登录成功)
    {
          if (Request[“return“] != null)
          Response.Redirect(Request[“return“] );
    }
                    
      

  2.   

    to  rickjelly2004(rick & jelly) 
    答非所问,谢谢
      

  3.   

    用框架就好了。不然你提交后就新开窗口。不明白可以来问我 msn [email protected]
      

  4.   

    这个问题解决了,可是新问题也来了:
    验证码不能重新生成,这样也不行
           If Me.IsPostBack Then
                VCode.Src = ""
                VCode.Src = "validatecode.aspx"
            End If
      

  5.   

    在modal window中的login.aspx,验证码不能在用户名或密码不正确时重新生成,用以下代码也不行sub page_load()
          If Me.IsPostBack Then
                VCode.Src = ""
                VCode.Src = "validatecode.aspx"
            End If
    end sub
      

  6.   

    在<title>你页面的Title</title>后加上<base target="_self">
      

  7.   

    to menghz
    不起作用。这个标记我没用过,不知有何作用
      

  8.   

    尝试将login验证页面放在服务器上,如CheckLogin.aspx.
    而你的Login.aspx页面可以保持不变,使用xmlhttp向CheckLogin.aspx发出请求,根据返回的数据判定是否登录,然后,使用window.returnValue返回值给父页面.
    这样的话,验证票应该还是起作用的,我没用过,只是想法,你可以试试.
    如果可行,告诉我哦.