Asp.net 在每个视图上运行操作方法
我想在每个页面上显示当前项目的版本信息 我现在的做法是: 在my homecontroller的索引方法中: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(
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>