asp.net 中如何实现登录成功后返回登录前的页面

lass_name 2008-06-11 10:33:31
在asp.net 中如何是登录成功后返回登录前的页面。
在这里不使用Login控件的情况下如何去实现,谢谢高手指点!
...全文
1332 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
libo0952 2011-10-27
  • 打赏
  • 举报
回复
gdfgdfdd
tanshuimo1 2009-06-22
  • 打赏
  • 举报
回复
像csdn.net这个网站的就很好,点击后在本页面弹出一个对话框。
sdyqingdao 2008-06-11
  • 打赏
  • 举报
回复
在每一个“点击此处登录网站”的地方,设置一个hidden, value=returnurl。
登录页面接收returnurl,处理完登录后redirect 到returnurl。所有的主流论坛全是这么做的。
qingyun163 2008-06-11
  • 打赏
  • 举报
回复
用form验证就可以了,这些机制asp.net已经提供了,不用自己写。
wzx516 2008-06-11
  • 打赏
  • 举报
回复
if(Session["user"] == null)
Response.Redirect("Login.aspx?RetUrl=Target.aspx");

登录时,如果成功:
Response.Redirect(Request["RetUrl"]);

kent55782 2008-06-11
  • 打赏
  • 举报
回复
我写错了,跳转用
Response.Redirect(ViewState["UrlReferrer"].ToString();
sdyqingdao 2008-06-11
  • 打赏
  • 举报
回复
在每一个“点击此处登录网站”的地方,设置一个hidden, value=returnurl。
登录页面接收returnurl,处理完登录后redirect 到returnurl。所有的主流论坛全是这么做的。
46539492 2008-06-11
  • 打赏
  • 举报
回复
string url=Request.Url.ToString();
kent55782 2008-06-11
  • 打赏
  • 举报
回复
具体实现方式当点登陆按纽的时候来判断
protected void lbtnLogin_Click(object sender, EventArgs e)
{
SqlConnection cn = new SqlConnection(@"server=localhost;database=shopping;uid=sa;pwd=;");
SqlCommand cmd = new SqlCommand("select 1 from users where username=@username and password=@password",cn);
cmd.Parameters.Add("@username", SqlDbType.VarChar).Value = txtUserName.Text.Trim();
cmd.Parameters.Add("@password", SqlDbType.VarChar).Value = txtPassword.Text.Trim();
cn.Open();
int a = Convert.ToInt32(cmd.ExecuteScalar());
cn.Close();
if (a == 1)
{
Response.Redirect("Default.aspx");
}
}
syc958 2008-06-11
  • 打赏
  • 举报
回复
返回上一页的这个东东在我们做项目的时候一般是用于填写完表单后确认的时候,有对原来输入的数据进行修改时用的,或者是因为网站为了方便浏览者而有心添加的一个东东,一般这种功能的实现在ASP.net中都是用一个button的控件来实现的,实现的方法有很多,今天恰好在做项目时碰到要用这个东东,我就把能实现" 返回上一页","返回前一页"的几种方法总结了一下,供大家学习之用,请多多指教:0)

其实要实现这个功能主要还是要用到javascript

方法一:
在asp.net的aspx里面的源代码中
<input type="button onclick="javascript:window.history.go(-1);"value="返回上一页">

浅析:这个是用了HTML控件,通过一个onclick的事件,调用了javascript中的一个方法就可以了。这个是最简单的了,也同样适用于静态页面,ASP页面等。

方法二:

利用Reponse.write
如果你对ASP有一定的了解,那么对Response.write这个东东就不会陌生了,方法一是直接有HTML页面中实现,则这个则是在后台环境中实现(这个说法好像不是很规范,呵呵)

Response.write("<script language=javascript>history.go(-2);</script>)

<a href="#" onclick="javascript:history.back();">返回前一页</a>


这里为会么要采用-2的值呢,我个人认为是这样的:因为在asp.net中的页面,当你按下一个button后,由于页面中会实现page.postback的缘故,实际上在这其中是刷新了两次页面,我们要的是第一次的,所以就......


方法三

利用Response.Redirect() 或 server.transfer()


在page_load中加入
if(!IsPostBack)
ViewState["retu"]=Request.UrlReferrer.ToString();

而在在返回按钮事件中
Response.Redirect(ViewState["retu"].ToString());
或Server.Transfer (ViewState["retu"].ToString());


浅析:
Request.UrlReferrer可以获取客户端上次请求的url的有关信息,我们在使用这个的时候最好对其进行一个判断

if(ViewState["UrlReferrer"]!=null)

Response.Redirect(ViewState["UrlReferrer"].ToString();

else
{
Response.write("对不起,当前是最前页码“);


这样才好使一点点喔
}
46539492 2008-06-11
  • 打赏
  • 举报
回复
获取当前的url
然后Server.UrlEncode(url)
login.aspx?url=url

取出时Server.UrlDecode(url)

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧