Asp.Net MVC Core 2 - 在 _Layout 上使用 ViewBag

莱昂纳多

我想动态设置一些属性,例如RootCSSUrl在视图包上并在_Layout.cshtml页面上阅读它们

到目前为止,我尝试通过使用“BaseController”(以及所有控制器继承自它)并将构造函数上的此类属性设置为ViewBag.RootCSSUrl = isDevelopment ? "blob.mysite.com":"blob.mysite.com";.

问题是在 _layout 渲染时,这个值总是为空...

我究竟做错了什么?

莱昂纳多

我设法通过创建一个全局动作过滤器来做到这一点,如https://damienbod.com/2015/09/15/asp-net-5-action-filters/

actionFilter 代码非常简单:

public class CommonViewBagInitializerActionFilter : ActionFilterAttribute
{
    public override void OnResultExecuting(ResultExecutingContext context)
    {
#if DEBUG
        ((BaseController)context.Controller).ViewBag.RootBlobURL = "";
#else
        ((Controller)context.Controller).ViewBag.RootBlobURL = "https://blob.mysite.com";
#endif
    }
}

过滤器的注册是:

// This method gets called by the runtime. Use this method to add services to the container.
public void ConfigureServices(IServiceCollection services)
    {
        services.AddMvc(config =>
        {
            config.Filters.Add(new CommonViewBagInitializerActionFilter());
        });
    }

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么我不应该在ASP.NET MVC 3中使用TempData,Session和ViewBag?

来自分类Dev

ASP.Net MVC4剃刀ViewBag

来自分类Dev

asp.net mvc 4设置viewbag链接

来自分类Dev

从ViewBag设置文本输入的值?ASP.NET MVC5

来自分类Dev

ASP.NET MVC DropDownList SelectedValue转换为ViewBag?

来自分类Dev

在IIS上使用.NET Core运行ASP.NET 5(MVC 6)

来自分类Dev

使用ASP.NET MVC在ViewBag foreach循环中图像滑动不起作用

来自分类Dev

ASP.NET MVC ViewBag / TempData安全

来自分类Dev

使用ASP.NET Core和MVC存储本地文件

来自分类Dev

使用ASP .Net Core(非MVC)进行Angular 2路由

来自分类Dev

asp.net mvc将ViewBag字典显示为javascript

来自分类Dev

使用AddSignInManager时的ASP.NET Core MVC异常

来自分类Dev

是否可以在.NET Framework 4.6.1控制台应用程序上使用ASP.NET Core 2.x MVC

来自分类Dev

在ASP MVC .Net Core中何处使用/放置jQuery?

来自分类Dev

使用ASP.NET Core MVC获取用户输入

来自分类Dev

ASP.NET Core 3 ActionFilter和Viewbag

来自分类Dev

ASP.NET Core MVC视图附件

来自分类Dev

asp.net mvc 4设置viewbag链接

来自分类Dev

使用ViewBag-ASP.NET MVC

来自分类Dev

_layout 页面上的 ASP.NET Core MVC 下拉列表到会话变量

来自分类Dev

避免在 asp.net-mvc 中使用 _Layout-cshtml

来自分类Dev

Windows IoT (Raspbian Pi) 上的 ASP.NET Core MVC

来自分类Dev

在 ASP.net Core MVC 2 中使用 ASP.net MVC 5 脚手架

来自分类Dev

Asp.Net Core MVC:无法使用区域配置路由

来自分类Dev

如何在 ASP.NET Core 2 MVC 中使用依赖注入设置单元可测试模型验证?

来自分类Dev

Asp .Net MVC,为什么我的viewbag 总是不为空?

来自分类Dev

ASP.NET MVC Core - 通过 HttpClient 使用 API

来自分类Dev

asp.net Mvc _Layout

来自分类Dev

在 asp.NET Core MVC Web 上启动并行任务

Related 相关文章

  1. 1

    为什么我不应该在ASP.NET MVC 3中使用TempData,Session和ViewBag?

  2. 2

    ASP.Net MVC4剃刀ViewBag

  3. 3

    asp.net mvc 4设置viewbag链接

  4. 4

    从ViewBag设置文本输入的值?ASP.NET MVC5

  5. 5

    ASP.NET MVC DropDownList SelectedValue转换为ViewBag?

  6. 6

    在IIS上使用.NET Core运行ASP.NET 5(MVC 6)

  7. 7

    使用ASP.NET MVC在ViewBag foreach循环中图像滑动不起作用

  8. 8

    ASP.NET MVC ViewBag / TempData安全

  9. 9

    使用ASP.NET Core和MVC存储本地文件

  10. 10

    使用ASP .Net Core(非MVC)进行Angular 2路由

  11. 11

    asp.net mvc将ViewBag字典显示为javascript

  12. 12

    使用AddSignInManager时的ASP.NET Core MVC异常

  13. 13

    是否可以在.NET Framework 4.6.1控制台应用程序上使用ASP.NET Core 2.x MVC

  14. 14

    在ASP MVC .Net Core中何处使用/放置jQuery?

  15. 15

    使用ASP.NET Core MVC获取用户输入

  16. 16

    ASP.NET Core 3 ActionFilter和Viewbag

  17. 17

    ASP.NET Core MVC视图附件

  18. 18

    asp.net mvc 4设置viewbag链接

  19. 19

    使用ViewBag-ASP.NET MVC

  20. 20

    _layout 页面上的 ASP.NET Core MVC 下拉列表到会话变量

  21. 21

    避免在 asp.net-mvc 中使用 _Layout-cshtml

  22. 22

    Windows IoT (Raspbian Pi) 上的 ASP.NET Core MVC

  23. 23

    在 ASP.net Core MVC 2 中使用 ASP.net MVC 5 脚手架

  24. 24

    Asp.Net Core MVC:无法使用区域配置路由

  25. 25

    如何在 ASP.NET Core 2 MVC 中使用依赖注入设置单元可测试模型验证?

  26. 26

    Asp .Net MVC,为什么我的viewbag 总是不为空?

  27. 27

    ASP.NET MVC Core - 通过 HttpClient 使用 API

  28. 28

    asp.net Mvc _Layout

  29. 29

    在 asp.NET Core MVC Web 上启动并行任务

热门标签

归档