繁体   English   中英

将数据永久存储在RouteData.Values中

[英]store permanently data in RouteData.Values

我将在RouteData.Values中存储一些带有值的键,并在控制器和视图之间传递数据,

RouteData.Values.Add("MyKey", "MyValue");

我将使用_Layout中的value在所有视图中显示值,但是当您转到其他控制器时,似乎所有键都将被删除。

无论如何,是否有一些密钥永久存储在RouteData.Value中 ,并防止将其删除?

如果没有,我在哪里可以存储这样的数据并从View中访问它?

我不想使用ViewBagViewData,因为我不从IRouteConstraint访问它们

您可以将baseController类用于这些作业。 所有控制器都使用此baseController ,您可以在其中定义所有通用对象。

像这样:

public class BaseController : Controller
{
    protected override void OnActionExecuting(ActionExecutingContext filterContext)
    {
        RouteData.Values.Add("MyKey", "MyValue");

        base.OnActionExecuting(filterContext);
    }
}

和其他控制器

public class HomeController : BaseController 
{
    // get route data values 
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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