首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >MVC3应用程序并跟踪用户最初进入的页面

MVC3应用程序并跟踪用户最初进入的页面
EN

Stack Overflow用户
提问于 2012-05-08 19:08:30
回答 3查看 1.2K关注 0票数 2

感谢您抽出时间阅读我的问题。我们将有访问者的网站,可能会到达另一个用户的个人资料页面。然后,我们将鼓励他们登录到该网站,或注册为新的,如果他们目前不是会员。这些操作使他们远离他们声明的初始页面/URL,但我们希望能够在完成登录/注册后通过“跟踪”他们开始的位置来“跳转他们”回到那个页面。(注意:如果重要的话,我们使用标准的Microsoft成员资格提供程序类。)“跳回”部分看起来很简单,“跟踪”部分是问题所在。

一个插图/示例:

访问者在点击www.mysite.com/profile/ID=108后到达该站点

然后,访问者离开该页面进行登录。我们怎样才能以某种方式最好地捕获ID=108,以便(登录的)用户有一个很好的选项来返回到那个配置文件页面?我从阅读中了解到cookie并不是最优的,但由于用户尚未登录等原因,其他一些选择似乎给我的想法带来了麻烦。

有什么具体的步骤可以用最好的MVC3方式来解决这个问题吗?

编辑:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    public ViewResult MyProfile(int? id)
    { 
    HttpCookie cookie = new HttpCookie("MySiteCookie");
    cookie.Value = id.ToString();
    cookie.Expires = DateTime.Now.AddYears(1); //or whatever time is appropriate
    System.Web.HttpContext.Current.Response.Cookies.Add(cookie);

    //do some other stuff
    }

在另一端,为了利用cookie,我以这样的方式(临时)将其放入菜单中:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    var MyProfileId = "";
    if (Request.Cookies["MySiteCookie"] != null)
    {HttpCookie cookie = request.Cookies["MySiteCookie"];
    MyProfileId = Server.HtmlEncode(cookie.Value);}

然后你把它放到你的链接里

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-05-08 19:13:49

我从阅读中了解到cookie并不是最好的

IMHO cookies是解决这个问题的最好方法。当一个匿名用户登陆配置文件页面时,只需发出一个cookie,其中包含他当前正在查看的配置文件的id。然后,当他成功登录时,读取此Cookie值以获得id,并构建重定向链接,并将他重定向到此链接。

另一种可能性是使用服务器端会话,但我只是将其作为cookies的替代方案,而不是我推荐的方案。

票数 2
EN

Stack Overflow用户

发布于 2012-05-08 19:15:54

您有几个选项:

1)您可以在您的控制器中使用Session来存储值:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Session.Remove("ID");
Session.Add("ID", "108")

并在被调用的Controller中检索。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ID = Session["ID"];

2)您可以从登录控制器传递查询字符串上的ID=108:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
return RedirectToAction("Edit", "Profile", new { ID = "108" });
票数 3
EN

Stack Overflow用户

发布于 2012-05-08 19:14:36

您可以重定向到登录操作,将Url添加到查询字符串参数。

比方说:www.mysite.com/login?ReturnUrl='www.mysite.com/profiles/ID=108'

我认为这是默认的成员资格提供程序行为,但您可以自行让ReferrerUrl将其放入查询字符串中。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10504880

复制
相关文章
js判断用户进入和离开当前页面
VisibilityChange 事件;用于判断用户是否离开当前页面 // 页面的 visibility 属性可能返回三种状态 // prerender,visible 和 hidden let pageVisibility = document.visibilityState; // 监听 visibility change 事件 document.addEventListener('visibilitychange', function() { // 页面变为不可见时触发 if (do
河湾欢儿
2018/09/13
6.3K0
InnoDB克隆和页面跟踪
首先,我们将讨论支持InnoDB克隆技术的一些内部产品。MySQL企业版备份(MEB)是一种企业级产品,可为MySQL提供备份和恢复。在各种类型的备份中,我们关注下面两种类型:
MySQLSE
2021/01/08
1K0
使用 PerfCollect 跟踪 .NET 应用程序
在 Linux 上遇到性能问题时,可使用 perfcollect 收集跟踪,以便收集有关出现性能问题时计算机上发生的状况的详细信息。
呆呆
2022/01/09
1.1K0
启用用户进程跟踪
仅仅需要标识该会话并为该会话启用跟踪(专用模式为一对一模式,即一个用户进程对应一个服务器进程)
Leshami
2018/08/07
5610
Sentry | 应用程序监控和错误跟踪
大家早上好 今天是节后的上班的第一天 我今天要向大家分享的是 Sentry这个用于应用程序监控和错误跟踪的软件 首先我们先看下官方的介绍视频,能帮我们快速了解Sentry http://mpvideo
用户9897904
2022/07/14
1.2K0
Sentry | 应用程序监控和错误跟踪
使用Spring Cloud Sleuth跟踪应用程序中的请求
Spring Cloud Sleuth是一款分布式跟踪解决方案,可以用于跟踪应用程序中的请求。Sleuth提供了一种跟踪方式,可以追踪分布式系统中的请求流,以及这些请求流程的调用链,包括每个请求的源和目标。
堕落飞鸟
2023/04/11
5490
docker安装rabbitmq无法进入管理页面
小伙伴们在上面安装好了 docker ps 看到rabbitmq也正常启动了,端口也没问题的情况下,还不能打开管理后台的网页,是因为你当初拉的镜像是 rabbitmq。 你执行的是这一句:
全栈程序员站长
2022/08/31
2K0
docker安装rabbitmq无法进入管理页面
CentOS进入单用户模式
在用root帐号修改/etc/passwd的时候不小心把root帐号那行删除了,其他帐号登录没权限改/etc/passwd,于是只好找网上找方法,使用单用户模式进入centos,
用户3094376
2018/09/12
4.5K0
js跳转页面并刷新(本页面跳转)
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/128190.html原文链接:https://javaforall.cn
全栈程序员站长
2022/07/27
23.1K0
MVC3教程之新手入门
你还可以通过Web Platform Installer将这些软件一起安装到本地。
拓荒者IT
2019/09/26
1.5K0
MVC3教程之新手入门
js实现页面跳转并传值(jquery页面跳转并传值)
在前端开发中我们常常需要从一个跳到另一个页面,并且将当前页面的数据传递过去,我常用下面两种方法
全栈程序员站长
2022/07/26
11.2K0
Typecho二开之让用户登录后跳转到前台页面而不是进入后台
修改 var/Widget/Login.php文件 最后几行就是判断登录成功跳转的 可以根据自己业务场景修改,我的需求是关注者就是普通用户,普通用户登录就跳前台,管理登录跳后台 $user
米克随笔
2021/12/17
6560
Typecho二开之让用户登录后跳转到前台页面而不是进入后台
javascript 页面后退并刷新
这样确实可以做到后退的功能,但是项目中,常常并不只是后退就能完成需求,往往需要在后退的同时,刷新后退的页面信息,比如后退到首页同时刷新首页的最新数据,这样的需求通过上面这种方法就没法满足了,为了实现这个需求,我们需要使用到
全栈程序员站长
2022/09/15
2.7K0
Linux进入单用户模式加密
在默认情况下,系统会在3(完整的多用户模式)和5(带界面的操作模式)两个级别下运行。在之前的文章中已经和大家介绍了如何将系统切换至单用户模式下运行,在单用户模式下,直接就可以操作root用户来重置密码。那么问题就来了,既然任何一个不知道root密码人都可以通过这种方式来重置密码,那我们的系统也就危险了。为了避免这个问题,我们需要在进入单用户模式时加一些限制,也就是多加一层密码验证。
一头小山猪
2020/04/10
5.7K0
订阅消息失败_无法进入苹果订阅页面
如果您接收的订阅出现此错误消息,可能是由以下几种原因导致的:缺失凭据:某些视图在发布时具有嵌入的凭据。如果嵌入式凭据现已过时或视图在重新发布时未包含嵌入式凭据,则您可能会收到以上错误消息。
全栈程序员站长
2022/09/22
3.3K0
订阅消息失败_无法进入苹果订阅页面
springboot+security拦截异常,进入异常页面
package cn.**.controller; import javax.servlet.http.HttpServletRequest; import org.slf4j.Logger; im
用户5899361
2020/12/07
8510
页面打开时div从右侧进入 原
页面未加载时,用transform:translateX(100%);把div定位到右边隐藏,当页面加载的时候,增加in class,
tianyawhl
2019/04/04
1.1K0
点击加载更多

相似问题

为什么我的堆栈跟踪不包括最初调用的页面?

10

使用PHP会话跟踪进入和退出页面

10

MVC3 Razor ViewBag.Model没有进入页面

21

跟踪用户输入的页面

21

Windows身份验证进入页面;应用程序池用户进入数据库

12
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文