问题标签 [tempdata]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
4365 浏览

asp.net-mvc-2 - 浏览器 cookie 中的 ASP.NET MVC TempData

我正在尝试使用自定义ITempDataProvider提供程序将 TempData 存储浏览器的 cookie 中而不是会话状态中。但是,除了我无法在读取响应流后从响应流中删除 cookie 之外,一切正常。

有任何想法吗?
谢谢!

0 投票
1 回答
2185 浏览

asp.net-mvc - 使用 ASP.NET MVC 的 TempData 和 Faked HttpContext 问题

我正在使用伪造的 HttpContext(最后提供的代码),并且可能我遗漏了一些东西,因为我无法访问 TempData 集合(SetFakeControllerContext 方法的第四行)。每次我尝试都会收到此错误消息:

“controller.TempData”引发了“System.AccessViolationException”类型的异常

调用 FakeHttpContext 的代码是:

有人知道我做错了什么吗?

}

ps:我用的是起订量

更新

我的天啊!!我不敢相信!2个多小时才弄清楚问题是对错误的MVC dll的引用。我在我的主应用程序中引用了 System.Web.Mvc 2.0,但在另一个项目中引用了 System.Web.Mvc 1.0。为此事道歉!

0 投票
1 回答
2007 浏览

asp.net-mvc-2 - TempData 在 ASP.NET MVC 2 中读取后持续存在

在 ASP.NET MVC 2 中,TempData值会一直存在,直到会话结束或被读取。用微软的话...

TempData 的值会一直存在,直到它被读取或会话超时。以这种方式持久化 TempData 可以实现重定向等场景,因为 TempData 中的值在单个请求之外可用。

我以为我理解了这一点,但我只是在我的应用程序中遇到了异常行为,其中一个TempData值可用但它不应该可用。一般来说,我有一个控制器,其中包含一系列动作,其中第一个动作设置一个TempData值,接下来的几个动作读取然后设置该TempData值,最后一个动作读取 TempData 值。下面的伪代码...

我的信念是,在读取一个值后,它将不再在 TempData 中可用。但是我开始单步执行代码,虽然键/值将在分配时添加到 TempData,但当我从 TempData 中提取值时(即使我到达不同的控制器) ,它永远不会消失。

我能够让它消失的唯一方法是手动点击一个从TempData.

谁能提供任何指针来帮助我更好地理解TempDataASP.NET MVC 2 中的持久性是怎么回事?

0 投票
1 回答
8686 浏览

asp.net-mvc - 是否可以从 HttpContext 访问 TempData 键/值?

我正在尝试创建自定义操作过滤器属性。在某些地方,我需要设施,例如 TempData[key] 和 TryUpdateModel... 我的自定义属性类派生自ActionFilterAttribute,我可以访问以下两种方法。

不幸的是,从两个 filtercontext 局部变量,我不知道如何访问 TempData。我试图跟随几个线索,但没有成功。毕竟,filterContext 变量中可能有 TempData。在这种情况下,我如何访问可用的 TemData?

感谢您的帮助

0 投票
2 回答
4066 浏览

viewmodel - ASP.NET MVC 3 中的动态 TempData

我一直试图让一个使用 ASP.NET MVC 3 运行的站点,我遇到了新的动态 ViewModel。在不使用“魔术字符串”的情况下将值快速传递给视图非常棒。我想知道 TempData 是否有类似的东西在 RedirectToAction 之后保持它的值。

谢谢。

0 投票
1 回答
268 浏览

asp.net-mvc-2 - 我如何处理 asp.net mvc 错误并使用控制器中的相同视图?

我有这样的动作:

我想把这个错误处理逻辑从方法中去掉。但是,它不是默认的 [HandleError] 处理方式,而是在发生错误时将用户重定向到另一个视图,而是返回带有 TempData["error"] 的相同视图,并且通知将出现在同一页的顶部。

我怎么能这样做,删除所有这些 try{}catch{} 代码并将这个逻辑放在这个动作之外,也适用于其他动作?

0 投票
7 回答
15670 浏览

php - PHP:会话的替代品

我有一个非常依赖会话变量的 PHP 应用程序。登录后,用户会被重定向到一个页面,该页面执行代码以根据用户是谁设置会话变量的负载。该应用程序使用来自不同来源的数据,并且会话用于存储 ID 号以查询数据库。

因此,当用户访问将查询其资产管理系统的页面时,他们的特定数据库 ID 将通过会话调用。

我最近在会话变量方面遇到了很多问题。有时在应用程序的生命周期中只创建一个会话文件,有时每个会话请求都会产生一个新的会话 id(仍然没有设法找出原因!)。

我的问题是这个。有没有替代使用会话变量的方法?像全局变量或其他方式?

我在这里有一个关于我的会话问题的问题 - PHP 会话变量没有被维护

0 投票
3 回答
3899 浏览

asp.net-mvc - TempData 始终为空

我想使用 TempData 存储 Post 和后续重定向之间的消息,但 TempData 始终为空。

我有 BaseContoller 提供一些用于传递 TempData 的基础设施。简化的代码如下所示:

动作方法如下所示:

应用程序在 VS Development Web 服务器上进行了测试。没有 Ajax 调用,我从母版页中删除了所有 Html.RenderAction 调用。我可以看到 TempData 在 GetAuditedMessages 中的每个请求仅被访问一次,并且在 OnResultExecuting 中仅存储一次。没有任何东西会覆盖数据。允许会话状态。

代码稍微简化了一点。我们还使用防伪令牌、用于授权和操作选择的自定义过滤器,但它不应影响 TempData 行为。

我不明白。我之前在测试应用程序中使用过 TempData,它运行良好。

0 投票
1 回答
827 浏览

asp.net-mvc-2 - 从 TempData asp.net mvc 2 获取自定义类型

我有一个自定义类 MyCustomType。在那个类中,我有一个 bool 类型的属性 MyCustomProperty 和另一个 bool 类型的 MyCustomProperty1 属性。

我需要检查 MyCustomProperty 在我的视图中是否为真。我正在做以下事情:

但是由于某种原因,当我m running it I see error message that MyCustomTYpe could not be found are you missing an assembly reference bla-bla-bla. MyCustomType is in my controller it公开并检查时,我什至添加了对视图的引用。但它一直说没有 MyCustomType 类。我究竟做错了什么?

有趣的是,由于某种原因,当我将它从 Controllers 命名空间移到 Common 时,它突然起作用了。仍然不明白为什么它在 Controllers 命名空间中不起作用。两个命名空间都明确包含在视图中。

0 投票
1 回答
1528 浏览

.net - 从业务对象访问控制器上下文/临时数据

我正在尝试构建一个可以交换的会话/临时数据提供程序。默认提供程序将在 asp.net mvc 之上工作,它需要从业务对象类访问 .net mvc TempData。我知道临时数据可通过控制器上下文获得,但我似乎无法找到它是否通过 HttpContext 或其他方式公开。我真的不想将控制器上下文作为参数传递,因为这会稀释我的接口定义,因为只有基于 asp.net 的会话提供程序需要这个,其他(使用 NoSQL DB 等)不关心控制器上下文。

为了进一步澄清,在这里添加更多代码。我的 ISession 界面看起来像这样。当此代码投入生产时,预计会话/临时数据将使用 NoSql db 工作。但我也喜欢在 asp.net mvc session/tempdata 之上为我的开发测试等提供另一个实现。

公共接口 ISession