用户想要回复贴子,必须先登录,点击登录后,弹出一个登录页面,用户输入用户名与密码后点击登录按钮又回到要回复贴子的那页,这个怎么取到链接地址啊?还是用其它方法?

解决方案 »

  1.   

    可以把登陆内容放到一个<div>里面,登陆的时候再显示出来
      

  2.   

    当发现一个用户未登陆系统时,记录该地址,然后通过QueryString传值,登陆后,通过获取这个地址返回。
      

  3.   

    response.write("<script>history.back()</script>")
    不知道行不行
      

  4.   

    从你那个发帖子的页面跳转到登陆页面的时候。可以给它指定一个特殊的参数比如:“login.aspx?Type=1”然后在登陆页面的登陆按钮中判断:if(Request.QueryString["Type"]!=null)
    {
            if(Request.QueryString["Type"].ToString()=="1")
    {
    //跳转到你发帖的页面。
    }
    }
      

  5.   

    假设登录页面为A,其他任何页面访问受权限限制而转向到A。那么在A的load事件中可以通过:request.previousPage.url得到上一个页面,这里就A的地址。在你验证成功后转向到request.previousPage.url.
    希望能帮你。
      

  6.   

    sakaibam99 
    =================
    Request没有previousPage这个属性啊
      

  7.   

    Page.previousPage.url没有.url啊?
    我在网上找到一个方法,可是要在页面加载下实现,不知道各位有什么办法,让他在点击按钮下实现?
    ViewState["UrlReferrer"] = Request.UrlReferrer.ToString();
    HyperLink1.NavigateUrl = (string)ViewState["UrlReferrer"];
    我把HyperLink1放在登录按钮下就不好用了,放在page_load下就好使
      

  8.   

    先在pageload里边把它存起来,然后点按钮的时候再取出来不就行了
      

  9.   

    将URL 传给(post) 登录页面。strimg url=Request.Url.ToString();
    然后在登录后取出:
    url=url.Remove(0,url.LastIndexOf("http://"));
      

  10.   

     protected void Page_Load(object sender, EventArgs e)
        {
            ViewState["UrlReferrer"] = Request.UrlReferrer.ToString();        HyperLink1.NavigateUrl = (string)ViewState["UrlReferrer"];
            Response.Write((string)ViewState["UrlReferrer"]);
        }
      

  11.   

    不明白为什么这么麻烦,我记得我当初做的时候也是实现这个功能阿,但是在Web.Config里把验证的那几个转向的网页修改好就可以了,authorzation,还有authention,把DefaultUrl和LoginUrl修改好就可以了!
      

  12.   

    我就写一下格式,你自己看看,上边我把单词写错了,抱歉!
    格式:
    <authentication mode="Forms"> 
    <forms name=".ASPXUSERDEMO" loginUrl="Login.aspx" protection="All" timeout="30"/>
    </authentication>
    <authorization>
    <deny users="?"/>
    </authorization>
      

  13.   

    Request.UrlReferrer
    这个偶尔会出错,如果新开启的IE或者经常两次以上的跳转它向位就不精确了。。
    建议还是用Url参数来标识登陆前的url
    ?ReferrerUrl=http://
      

  14.   

    同意18 19楼的,用From身份验证,未登录会自动转向web.config中设定的登陆页,并且自动传递当前Url的参数登陆成功后,Response.Redirect(Request["ReturnUrl"].ToString());
    就可以了
      

  15.   

    From身份验证 =〉Forms身份验证
      

  16.   

    如果你没有自己的身份验证处理,可以这样
    System.Web.Security.FormsAuthentication.RedirectFromLoginPage(this.Txt_UserName.Text,false);
      

  17.   

    Form表单验证就好了,没有身份的情况下会自动跳到登录页,并且url中带有原来页面的参数,登陆授权后会跳回去的
    或者也可以参考设置postbackurl,通过previouspage读取
      

  18.   

    直接记录当前url,登陆后跳转回来...
      

  19.   

    up
    通过window.location属性记录当前页地址,然后传递参数到登陆页.
    void page_load(){
    response.write("<script language=javascript>window.location<script>")
    }
    void btn_click(object sender,eventarg e)
    {     response.redirect("login.aspx?url="+window.location)
    }
      

  20.   

    我用了membership,
    它自动跳的,不用写,呵呵。也是在我意料之外。查看membership资料时没有见这功能。
    楼主也试试
      

  21.   

    用Request.Url.ToString()获取当前页面地址,作为参数传递到登录页面,登录成功后返回到该页面即可。
      

  22.   


    if(Request.QueryString["Type"]!=null)
    {
        if(Request.QueryString["Type"].ToString()=="1")
        {    }
    }
      

  23.   

    javascript:window.history.back();
    这样个人认为是可以的
      

  24.   

    用session,在需要登录的页面与登录页各放一个session,一个用来存URL,一个用来读就OK了,不过就是比较耗资源