Asp.net 在每个视图上运行操作方法

Asp.net 在每个视图上运行操作方法,asp.net,razor,asp.net-mvc-5,Asp.net,Razor,Asp.net Mvc 5,我想在每个页面上显示当前项目的版本信息 我现在的做法是: 在my homecontroller的索引方法中: ViewBag.Version = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version; 在_layout.cshtml(母版页)中: 这里的问题是,它只会显示一次,但我想在每个页面/视图上显示版本 这是我的路由配置: public static void RegisterRoutes(

我想在每个页面上显示当前项目的版本信息

我现在的做法是:

在my homecontroller的索引方法中:

ViewBag.Version = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version;
在_layout.cshtml(母版页)中:

这里的问题是,它只会显示一次,但我想在每个页面/视图上显示版本

这是我的路由配置:

        public static void RegisterRoutes(RouteCollection routes)
    {
        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

        routes.MapRoute(
            name: "Default",
            url: "{controller}/{action}/{id}",
            defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }


        );
    }
我必须在这里换些东西吗

谢谢你的帮助,为什么不打电话呢

@System.Reflection.Assembly.GetExecutingAssembly().GetName().Version;
\u Layout.cshtml
视图上

MVC具有不同的启动上下文,需要一种变通方法来编写版本文本:

@typeof(HomeController).Assembly.GetName().Version

HomeController
可以用MVC应用程序集中的任何其他类型的程序集替换。有关更多信息,请参阅。

只需将此内容放到布局中即可

<label>@System.Reflection.Assembly.GetExecutingAssembly().GetName().Version</label>
@System.Reflection.Assembly.getExecutionGassembly().GetName().Version

因为它只显示0.0.0.0而不是实际定义的版本号您在
AssemblyInfo.cs
中定义了版本吗?是的,在属性文件夹(文件位置)下,它的定义如下:[assembly:AssemblyVersion(“1.0.0.2”)][assembly:AssemblyFileVersion(“1.0.0.2”)]@user254197尝试使用完整的命名空间:
W4K.mvc.Controllers.HomeController
或其他名称。它只显示0.0.0.0,而不是实际定义的版本号
<label>@System.Reflection.Assembly.GetExecutingAssembly().GetName().Version</label>