lon*_*ero 8 .net c# asp.net razor
我试图在Razor视图(_Layout.cshtml)中显示我的产品版本.我做的是这样的:
<script>
alert('@FileVersionInfo.GetVersionInfo(Assembly.GetExecutingAssembly().Location).ProductVersion');
alert('@Assembly.GetExecutingAssembly().Location');
</script>
Run Code Online (Sandbox Code Playgroud)
问题是第一个警报显示0.0.0.0然后,我介绍了第二个警报,它显示了以下位置:
C:WindowsMicrosoft.NETFramework644.0.30319Temporary ASP.NET Filesoot#35f35b93778aeaApp_Web_ztow0zpu.dll
显然这不是我的汇编文件.是否有任何简单而干净的方法从Razor视图中获取装配版本?
Ben*_*nes 12
编辑为更好的答案
我猜它是试图获得Razor引擎的版本,而不是你的应用程序.因此,解决方法是在控制器中获取此信息并通过viewbag将其发送到视图.
在您的控制器添加 -
ViewBag.Version = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version;
Run Code Online (Sandbox Code Playgroud)
在您的视图中添加 -
<h1>@ViewBag.Version</h1>
Run Code Online (Sandbox Code Playgroud)