使用 ASP MVC 6,如何在每个页面模板中设置一个变量?
Using ASP MVC 6, how do I get a variable set in every page template?
我需要在每个页面模板(不仅仅是布局)中包含一些关于用户的额外信息。如何将我的基本控制器上的 属性 信息获取到每个模板中?
我在 web.config 中阅读过有关制作 WebViewPage 并将其设置为基本视图的信息,但 MVC 6 不使用 web.config 文件。
您必须覆盖基础控制器中的 OnActionExecuting
方法,并在方法主体中设置 viewbag 数据。
ViewBag.UserName = yourObj.UserName;
ViewBag.UserId = yourObj.UserId;
在您的模板中,您只需通过 ViewBag 获取此数据。
对于有很多用户的真实项目,使用 DonutCaching 库。因此,您可以只为用户呈现模板,而页面的其余部分则从缓存中获取。它使您的服务器更快。
我需要在每个页面模板(不仅仅是布局)中包含一些关于用户的额外信息。如何将我的基本控制器上的 属性 信息获取到每个模板中?
我在 web.config 中阅读过有关制作 WebViewPage 并将其设置为基本视图的信息,但 MVC 6 不使用 web.config 文件。
您必须覆盖基础控制器中的 OnActionExecuting
方法,并在方法主体中设置 viewbag 数据。
ViewBag.UserName = yourObj.UserName; ViewBag.UserId = yourObj.UserId;
在您的模板中,您只需通过 ViewBag 获取此数据。
对于有很多用户的真实项目,使用 DonutCaching 库。因此,您可以只为用户呈现模板,而页面的其余部分则从缓存中获取。它使您的服务器更快。