我想在我的Javascript文件中使用razor语法。如果不将javascript内联到页面中,这可能吗?
答案 0 :(得分:6)
我在nuget上找到了一个剃刀引擎RazorJS
,它解决了@
个文件中的js
个问题
The owner blog and explanations about the package abilities
Nuget包
在this问题
中查看更多内容答案 1 :(得分:3)
Razor引擎只针对页面运行,而不是任何包含的javascript文件。
您可以编写一个自定义解析器,在服务之前针对任何javascript文件运行视图引擎,我想任何尝试这样做都是一个非常有用的开源项目。
然而,想到的最简单的解决方案(如果这些变量没有以任何方式链接到任何DOM元素)就是简单地在页面(或包含的部分页面)和javascript中声明和初始化变量(在{中{1}}文件)依赖于定义的这些变量。
但是,如果您需要的变量在逻辑上与DOM元素相关联,我更喜欢使用.js
属性来定义这些,这样您的javascript可以被html使用,而不是相反。例如,如果你有一个应该通过javascript自动更新的内容区域(在这里使用jQuery作为例子):
HTML:
data-*
使用Javascript:
<div data-auto-refresh="pathToContent" data-auto-refresh-milliseconds="1000"></div>
答案 2 :(得分:2)
您可以在cshtml文件中的隐藏字段中设置值,然后在javascript文件中可以访问隐藏字段。