c# - 在 Dotnet Core 3.1 中将数据从一个控制器传递到另一个控制器
问题描述
我是整个 MVC 模式的新手,遇到以下问题:
我有 2 个控制器,PayReqController
并且PayResController
. 我正在尝试从一个动作访问数据PayReqController
到另一个动作PayResController
。我试过使用TempData
:
TempData["tsnpac"] = tsnpac;
但它不起作用,因为我们需要在设置TempData
. 还尝试使用 sessionSession["TSNPAC"] = "TSNPAC";
将其访问到另一个控制器,但它给出的值为null
.
我的场景是,PayReqController
在一个动作中,我有一个值,我需要在另一个控制器中获取它而不重定向到该控制器,因为我的用例是重定向到我从其他服务获得的其他 URL。
解决方案
要在请求范围之间(不仅仅是控制器之间)共享数据,您可以使用HttpContext.Items
.
共享数据:
//in the first controller
HttpContext.Items.Add("person", person);
并使用共享数据:
//in the second controller
var person= HttpContext.Items["person"] as Person;
推荐阅读
- ios - 如何创建一个可以被多个 UIVIewController 共享/使用的 UIView?
- python - 如何在python中获得log10值的倒数?
- sql - 基于 Order 列的回溯窗口,并将其替换为 Orderid 和 User id
- javascript - 从nodejs获取json数据到Angular 6
- python - 自动编码器最后一层的 Keras 尺寸不匹配
- python - 熊猫中的连接和移位列适用
- php - 如何使用 PHP Xdebug 处理来自其他设备的请求?
- azure - Azure Kubernetes 上的块存储挂载错误
- c++ - 在 C++ 中使用您自己的 Matrix 类进行 OpenGL 对象旋转
- wordpress - 如何将现有代码转换为 WooCommerce 插件