一个登录后转回当初页面的问题 用户想要回复贴子,必须先登录,点击登录后,弹出一个登录页面,用户输入用户名与密码后点击登录按钮又回到要回复贴子的那页,这个怎么取到链接地址啊?还是用其它方法? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 可以把登陆内容放到一个<div>里面,登陆的时候再显示出来 当发现一个用户未登陆系统时,记录该地址,然后通过QueryString传值,登陆后,通过获取这个地址返回。 response.write("<script>history.back()</script>")不知道行不行 从你那个发帖子的页面跳转到登陆页面的时候。可以给它指定一个特殊的参数比如:“login.aspx?Type=1”然后在登陆页面的登陆按钮中判断:if(Request.QueryString["Type"]!=null){ if(Request.QueryString["Type"].ToString()=="1") { //跳转到你发帖的页面。 }} 假设登录页面为A,其他任何页面访问受权限限制而转向到A。那么在A的load事件中可以通过:request.previousPage.url得到上一个页面,这里就A的地址。在你验证成功后转向到request.previousPage.url.希望能帮你。 sakaibam99 =================Request没有previousPage这个属性啊 Page.previousPage.url没有.url啊?我在网上找到一个方法,可是要在页面加载下实现,不知道各位有什么办法,让他在点击按钮下实现?ViewState["UrlReferrer"] = Request.UrlReferrer.ToString();HyperLink1.NavigateUrl = (string)ViewState["UrlReferrer"];我把HyperLink1放在登录按钮下就不好用了,放在page_load下就好使 先在pageload里边把它存起来,然后点按钮的时候再取出来不就行了 将URL 传给(post) 登录页面。strimg url=Request.Url.ToString();然后在登录后取出:url=url.Remove(0,url.LastIndexOf("http://")); protected void Page_Load(object sender, EventArgs e) { ViewState["UrlReferrer"] = Request.UrlReferrer.ToString(); HyperLink1.NavigateUrl = (string)ViewState["UrlReferrer"]; Response.Write((string)ViewState["UrlReferrer"]); } 不明白为什么这么麻烦,我记得我当初做的时候也是实现这个功能阿,但是在Web.Config里把验证的那几个转向的网页修改好就可以了,authorzation,还有authention,把DefaultUrl和LoginUrl修改好就可以了! 我就写一下格式,你自己看看,上边我把单词写错了,抱歉!格式:<authentication mode="Forms"> <forms name=".ASPXUSERDEMO" loginUrl="Login.aspx" protection="All" timeout="30"/></authentication><authorization><deny users="?"/></authorization> Request.UrlReferrer这个偶尔会出错,如果新开启的IE或者经常两次以上的跳转它向位就不精确了。。建议还是用Url参数来标识登陆前的url?ReferrerUrl=http:// 同意18 19楼的,用From身份验证,未登录会自动转向web.config中设定的登陆页,并且自动传递当前Url的参数登陆成功后,Response.Redirect(Request["ReturnUrl"].ToString());就可以了 From身份验证 =〉Forms身份验证 如果你没有自己的身份验证处理,可以这样System.Web.Security.FormsAuthentication.RedirectFromLoginPage(this.Txt_UserName.Text,false); Form表单验证就好了,没有身份的情况下会自动跳到登录页,并且url中带有原来页面的参数,登陆授权后会跳回去的或者也可以参考设置postbackurl,通过previouspage读取 直接记录当前url,登陆后跳转回来... 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)} 我用了membership,它自动跳的,不用写,呵呵。也是在我意料之外。查看membership资料时没有见这功能。楼主也试试 用Request.Url.ToString()获取当前页面地址,作为参数传递到登录页面,登录成功后返回到该页面即可。 if(Request.QueryString["Type"]!=null){ if(Request.QueryString["Type"].ToString()=="1") { }} javascript:window.history.back();这样个人认为是可以的 用session,在需要登录的页面与登录页各放一个session,一个用来存URL,一个用来读就OK了,不过就是比较耗资源 多级文件夹下页面Server.Transfe()调转问题 GridView打开新页面的问题 如何获取url参数? 请教复选框取值问题 正则试问题? 知道每个键所对应的ascll吗? 关于ListBox和DropDownList动态数据绑定的问题,在线!!! 如何在数据库取出本周的数据? 急:一个关于DropDownList的问题! ASP.NET中怎么连接到SQL SERVER数据库呀! 一个网站在windows 2003上部署的问题~~~~~~~~ 紧急求助:SQL Server2000服务器突然连接不上了
不知道行不行
{
if(Request.QueryString["Type"].ToString()=="1")
{
//跳转到你发帖的页面。
}
}
希望能帮你。
=================
Request没有previousPage这个属性啊
我在网上找到一个方法,可是要在页面加载下实现,不知道各位有什么办法,让他在点击按钮下实现?
ViewState["UrlReferrer"] = Request.UrlReferrer.ToString();
HyperLink1.NavigateUrl = (string)ViewState["UrlReferrer"];
我把HyperLink1放在登录按钮下就不好用了,放在page_load下就好使
然后在登录后取出:
url=url.Remove(0,url.LastIndexOf("http://"));
{
ViewState["UrlReferrer"] = Request.UrlReferrer.ToString(); HyperLink1.NavigateUrl = (string)ViewState["UrlReferrer"];
Response.Write((string)ViewState["UrlReferrer"]);
}
格式:
<authentication mode="Forms">
<forms name=".ASPXUSERDEMO" loginUrl="Login.aspx" protection="All" timeout="30"/>
</authentication>
<authorization>
<deny users="?"/>
</authorization>
这个偶尔会出错,如果新开启的IE或者经常两次以上的跳转它向位就不精确了。。
建议还是用Url参数来标识登陆前的url
?ReferrerUrl=http://
就可以了
System.Web.Security.FormsAuthentication.RedirectFromLoginPage(this.Txt_UserName.Text,false);
或者也可以参考设置postbackurl,通过previouspage读取
通过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)
}
它自动跳的,不用写,呵呵。也是在我意料之外。查看membership资料时没有见这功能。
楼主也试试
if(Request.QueryString["Type"]!=null)
{
if(Request.QueryString["Type"].ToString()=="1")
{ }
}
这样个人认为是可以的