繁体   English   中英

在控制器动作之间传递数据

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM