我正在做一个使用ASP.NETCore6Razor页面的项目。
位于Script
目录中的*.ts
文件和编译器将输出放入wwwroot/js/
。
我的目标是为具有相同名称的页面加载这些.js
文件中的每一个,例如,如果我的页面名称是index.cshtml
,它应该会自动加载index.js
文件。
到目前为止,我已经在_ViewStart.cshtml
中完成了以下操作:
var pageName = System.IO.Path.GetFileNameWithoutExtension(Path);
var jsFile = "~/js/" + pageName + ".js";
//some how load the jsFile
但问题是,jsFile
总是“_ViewStart”,我需要一些如何获得文件的名称,这是使用_ViewStart
的时刻(如如果index.cshtml
是加载用户和它的渲染_ViewStart
,我需要得到的index.cshtml
)和viewbags是真的很糟糕,他们很容易忘记和混乱的错别字,我需要一些更安全的。
我想我可以在应用程序启动时使用反射来实现同样的效果(也许在每个*.cshtml
文件的底部附加<script>
?),但我想这有点麻烦。
如果这个问题太长或不好,请原谅
1条答案
按热度按时间lf3rwulv1#
可以从当前页的端点数据获取当前页的文件名。例如,在_Layout.cshtml中,可以执行以下操作:
然后,在您想要注入脚本的时候: