登录成功后回到登录前页面是如何实现的? Request.UrlReferrer可以获得登陆页面是由哪个页面跳转过来的,你登陆成功后,转向这个页面就行 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 if (str== "1") { if (this.Login.Value == "Yes") { Login(); } } if (str== "0") { Login(); } protected void Login() {}就这样 <a href='login.aspx?refer="当前页面的url"'>去登陆</a>登陆页面 获取 页面传过来的 refer 调转到refer这个链接 参考这篇:http://www.cnblogs.com/insus/articles/2032508.html其中有一个属性是存储用户登录成功之后目标去向。方法仅供参考。 传url,当从哪个页面进入登陆页面时,回向登陆页面get传自己的url。然后登陆后再转向。或者用Request.UrlReferrer。我用过后者,不过好多网站都是传url方式。 1.自己写跳转2.forms验证,请在web.config中设置登陆成功以后,跳转的页面 <a href='login.aspx?refer="login.aspx"'>去登陆</a>登录后台 string url=Request.QueryString["refer"].ToString(); Request.UrlReferrer这个确实是最简单的方法。 Request.UrlReferrer,可以获取当前页面是从哪个URL过来的 你这不对啊你的代码里没有调用者地址,全是login.aspx,不还是回到登录页面么? 汗死我了index 页面 参数这应该是index.aspx a页面 就应该是a.aspx<a href='login.aspx?refer="index.aspx"'>去登陆</a>这样的话,会很麻烦 那个页面需要登录后才可以操作,你都要在参数这 传进去 本页 ,然后在登录页面获取,还是用Request.UrlReferrer 你参数传的的 login.aspx 当然获取全是 login.aspx 用querystring可以实现。 string str = Request.QueryString["str"];if (str == "LeaveWord") { Response.Redirect("LeaveWord.aspx"); } else if (str == "LeaveWordManager") { Response.Redirect("LeaveWordManager.aspx"); } else if (str == "MyWord") { Response.Redirect("MyWord.aspx"); } else { Response.Redirect("Index.aspx"); } 这个我试过了不好使:我跟踪显示了Request.UrlReferrer的值,在刚打开Login.aspx时,它的值的确是调用网页的url但是输入完用户名和口令后,一点“登录”Request.UrlReferrer的值立即变成了login.aspx,这是以下代码执行就已经晚了,会再回到Login.aspx: protected void Login1_LoggedIn(object sender, EventArgs e) { string s = Request.UrlReferrer.ToString(); Response.Redirect(s); }太可惜了,这本来是我最看好和喜欢的一个,不知道能不能改下用好。 你的代码中始终都没体现调用者的url,怎么可能回到调用者网页呢?回到login.aspx干什么啊? 关键是调用者的url如何取得?得不到调用者的url,还是回不去啊 比如你从index.aspx跳转到用viewstate保存下那个Request.UrlReferrer这个就可以了,一样可以实现功能,不过中间有写小细节,还是用url参赛的方式吧,那样比较明确 无法找到资源。 说明: HTTP 404。您正在查找的资源(或者它的一个依赖项)可能已被移除,或其名称已更改,或暂时不可用。请检查以下 URL 并确保其拼写正确。 请求的 URL: /WebSite4/Request.UrlReferrer.ToString() 发现没有登录后记下当前地址,redirect到登录页面(在url里加个参数不错) 定义一个类,将用户开始填写的数据保存到相应对象的属性里面,然后将对象保存到session里面,在返回页面的时候在后天把值附上去 不知楼主对8楼提供的方法,是否觉得有问题,还是别的原因。http://www.cnblogs.com/insus/articles/2032508.html你首先定义好一个属性: //存储用户登录成功之后目标去向。 public static string TargetPath { get { return (HttpContext.Current.Session["TargetPath"] != null ? HttpContext.Current.Session["TargetPath"].ToString() : VirtualPathUtility.ToAbsolute("~/Default.aspx")); } set { HttpContext.Current.Session["TargetPath"] = value; } }然后在所有页面的Page_Load中写上:protected void Page_Load(object sender, EventArgs e) { //如果此页面需要在登录验证成功之后,直接导向此页。 Biz.TargetPath = Request.RawUrl; }最后在你的login事件中写://登录按钮 protected void ButtonLogining_Click(object sender, EventArgs e) { //if (xxx) 如果验证成功 { //other code; Response.Redirect(Biz.TargetPath); //转向目标页面 } } 我只用一个普通的string变量保存不行么?string变量存session传到Login.aspx里存着等login成功后再把session传回?这string型的变量最长能存多长的字符串? 谢谢,这么多朋友的热心帮助可惜分不是很多我首先要给3楼,他第一个提出一个关键的变量用来获得当前网页的url Request.UrlReferrer获取上一级请求页面 一旦页面刷新,上一级请求页面即指当前页面也就是说 你从其他页面跳转到登陆页面,当你刷新登陆页面时,Request.UrlReferrer获取的就是登陆页面的url 个人觉得你传参数是最可靠的方式了... 虽然已经结贴了,不过我还是要说,3楼的方法很好,稍微改下就行了,起码从3楼学到了。private static string url;protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack && Request.UrlReferrer!=null) { url = Request.UrlReferrer.ToString(); } Response.Write(url); }这样的话,即使点击了按钮什么的,其url值一样不变。 还是建议楼主传参数,可以把当前页URL做为参数传到登录页,用户一般不会删参数的! LZ 如果你使用淘宝啊,京东啊之类的,你仔细观察跳转到登录页面的URL时会有一个returnURL的参数唉仔细点啥都解决了 假设你在主页判断的登录与否在主页的后台代码中使用这个Request.Url获取当前页的URL,具体我没试,本座这样猜测而已。然后构造login.aspx?returnURL=xxx这时就跳转过去了如果是JS的话更好弄了 主页的JS代码window.location="login.aspx?returnURL="+window.location.href;好了自己去琢磨吧 试试 ,在这个帖子页面点击退出 然后查看一个需要登录才能查看的回复 看看CSDN怎么做的就行了 虽然已经结贴了,不过我还是要说,3楼的方法很好,稍微改下就行了,起码从3楼学到了。C# codeprivate static string url;protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack && Request.UrlReferrer!=null) { url = Request.UrlReferrer.ToString(); } Response.Write(url); }我试过这个,可以的。 我是学java的,但是方法都相似,Request对象(好像是request.getRemote..)有一个属性记录了请求是从哪个地址来的,但是如果直接从地址栏输入地址,则获取到那个属性为null,这个时候如果登陆成功就得跳转到index 希望修改Repeater中某一列的内容 为页面保持状态 用时半个月完成的小软件,免费提供给大家使用 网站发布链ACCESS问题 如何在后台加超链接? asp.net版本问题 简单问题:如何按输入的格式输出? 急急急急急急急急急急急急急急急急! 这个源码谁能看得懂,真NB. 怎么取得dll文件的PublicKeyToken,Culture,Version ? 一个sqlserver问题。 怎么让treeview的根节点默认选中 其他节点不被选中
{
if (this.Login.Value == "Yes")
{
Login();
}
}
if (str== "0")
{
Login();
} protected void Login()
{}就这样
登陆页面 获取 页面传过来的 refer 调转到refer这个链接
http://www.cnblogs.com/insus/articles/2032508.html
其中有一个属性是存储用户登录成功之后目标去向。方法仅供参考。
或者用Request.UrlReferrer。我用过后者,不过好多网站都是传url方式。
2.forms验证,请在web.config中设置登陆成功以后,跳转的页面
你的代码里没有调用者地址,全是login.aspx,不还是回到登录页面么?
index 页面 参数这应该是index.aspx a页面 就应该是a.aspx
<a href='login.aspx?refer="index.aspx"'>去登陆</a>这样的话,会很麻烦 那个页面需要登录后才可以操作,你都要在参数这 传进去 本页 ,然后在登录页面获取,还是用Request.UrlReferrer
string str = Request.QueryString["str"];
if (str == "LeaveWord")
{
Response.Redirect("LeaveWord.aspx");
}
else if (str == "LeaveWordManager")
{
Response.Redirect("LeaveWordManager.aspx");
}
else if (str == "MyWord")
{
Response.Redirect("MyWord.aspx");
}
else
{
Response.Redirect("Index.aspx");
}
我跟踪显示了Request.UrlReferrer的值,在刚打开Login.aspx时,它的值的确是调用网页的url
但是输入完用户名和口令后,一点“登录”Request.UrlReferrer的值立即变成了login.aspx,这是以下代码执行就已经晚了,会再回到Login.aspx:
protected void Login1_LoggedIn(object sender, EventArgs e)
{
string s = Request.UrlReferrer.ToString();
Response.Redirect(s);
}
太可惜了,这本来是我最看好和喜欢的一个,不知道能不能改下用好。
说明: HTTP 404。您正在查找的资源(或者它的一个依赖项)可能已被移除,或其名称已更改,或暂时不可用。请检查以下 URL 并确保其拼写正确。 请求的 URL: /WebSite4/Request.UrlReferrer.ToString()
http://www.cnblogs.com/insus/articles/2032508.html你首先定义好一个属性: //存储用户登录成功之后目标去向。
public static string TargetPath
{
get
{
return (HttpContext.Current.Session["TargetPath"] != null ? HttpContext.Current.Session["TargetPath"].ToString() : VirtualPathUtility.ToAbsolute("~/Default.aspx"));
}
set
{
HttpContext.Current.Session["TargetPath"] = value;
}
}然后在所有页面的Page_Load中写上:protected void Page_Load(object sender, EventArgs e)
{
//如果此页面需要在登录验证成功之后,直接导向此页。
Biz.TargetPath = Request.RawUrl;
}
最后在你的login事件中写://登录按钮
protected void ButtonLogining_Click(object sender, EventArgs e)
{
//if (xxx) 如果验证成功
{
//other code;
Response.Redirect(Biz.TargetPath); //转向目标页面
}
}
string变量存session传到Login.aspx里存着
等login成功后再把session传回?
这string型的变量最长能存多长的字符串?
可惜分不是很多
我首先要给3楼,他第一个提出一个关键的变量用来获得当前网页的url
Request.UrlReferrer获取上一级请求页面 一旦页面刷新,上一级请求页面即指当前页面
也就是说 你从其他页面跳转到登陆页面,当你刷新登陆页面时,Request.UrlReferrer获取的就是登陆页面的url 个人觉得你传参数是最可靠的方式了...
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack && Request.UrlReferrer!=null)
{
url = Request.UrlReferrer.ToString();
} Response.Write(url);
}这样的话,即使点击了按钮什么的,其url值一样不变。
会有一个returnURL的参数唉
仔细点啥都解决了
在主页的后台代码中使用这个Request.Url获取当前页的URL,具体我没试,本座这样猜测而已。
然后构造login.aspx?returnURL=xxx这时就跳转过去了如果是JS的话
更好弄了 主页的JS代码
window.location="login.aspx?returnURL="+window.location.href;
好了自己去琢磨吧
private static string url;
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack && Request.UrlReferrer!=null)
{
url = Request.UrlReferrer.ToString();
} Response.Write(url);
}
我试过这个,可以的。