[英]Passing data between Controller Actions
嗨,我找不到在一个控制器中的Action方法之间传递数据的方法。 简化的代码示例如下:
public class HomeController : Controller
{
int latestID;
// GET: Home
public ActionResult Index()
{
latestID = 50000;
return View();
}
// GET: Generate
public ActionResult Generate()
{
// using the latestID here
return View();
}
}
应用程序启动时索引加载,并且latestID
设置为50000。但是当我单击映射到API GET请求Generate的按钮时, latestID
突然为空。 我尝试实现TempData和Session,但是没有运气。 任何帮助将不胜感激!
我觉得这里有2种可能性,即要检索的值是针对用户会话或使用网站的所有用户的全局值。
如果该值是用户特定的,则可以通过会话阶段管理(如Viewbag)进行管理。 或者,如果希望仅在服务器端维护此值,则需要通过某种持久性机制(如数据库或内存缓存)再次检索该值。
如果该值在使用该网站的所有用户之间是通用的,则可以通过单例对象的依赖注入来实现(该对象可以再次是数据库管理器或缓存管理器,也可以是内存中的简单对象)。 也可以使用静态对象,但这并不是理想的选择,因为该应用程序不支持跨实例的水平可伸缩性。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.