将数据永久存储在RouteData.Values中
本文关键字:RouteData Values 存储 数据 | 更新日期: 2023-09-27 18:08:41
我将在RouteData中存储一些带有值的键。值并在控制器和视图之间传递数据,
RouteData.Values.Add("MyKey", "MyValue");
我将使用_Layout中的value来显示所有视图中的值。但当你切换到其他控制器时,似乎所有的键都会被移除。
是否可以在RouteData中永久存储一些键?值,并阻止删除它?
如果没有,我可以在哪里存储一些这样的数据,并从视图访问它?
我不想使用ViewBag或ViewData,因为我不能从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
}