0

ASP.NET MVC for ASP.NET 中的 ViewData/TempData 对象是否有等效项?

我想做的是让一个 Session 项目只在一个请求中存活。

提前致谢!

编辑:

问题是我有一个更新和创建的视图。当视图处于更新模式时,会话项被填充或者它必须已经被填充(!)并且在创建模式下会话项为空。因此,当我处于创建模式并将页面发送回服务模式时,模式更改为编辑模式,并且视图上的一个按钮已启用,因为会话项目已被填充。模式取决于会话项目。并且会话项可以由另一个视图或我成功创建联系人时填充。会话项值是contactId。

4

3 回答 3

1

ViewState 是您可以拥有的最接近的。它是一个页面范围的持久性存储,但它可以在对同一页面的许多后续请求中存活下来。

您可以根据自己的需要进行调整。在页面构造函数中初始化一些 RequestID 值,并将其保存在与您需要的 Session 变量紧密耦合的 Session 中。从会话中读取时,您可以简单地检查标识符是指向当前请求还是指向上一代请求。或多或少是如何实现 TempData 的。

您还可以查看 RequestData 集合。它只在一个请求期间保留,不会延伸到下一个请求。

于 2009-11-11T14:40:11.257 回答
1

只为一个请求?甚至没有回传?然后你可以只使用受保护的字段或属性。

于 2009-11-11T14:47:38.747 回答
0

您可以使用请求对象。您可能还会发现页面很有帮助。

于 2009-11-11T14:45:58.110 回答