在视图中托管javascript而不是.js文件

时间:2017-01-26 16:25:22

标签: javascript asp.net asp.net-mvc partial-views

  • 我有一个局部视图,其中包含仅针对所述视图的javascript
  • 显然,ASP.NET MVC不支持部分视图中的部分,所以我不能将部分脚本部分添加到我的部分以添加到我的布局页面的末尾
  • 我遇到了this question,提出了一套看起来很有前途的扩展,但它要求我将javascript放在一个单独的.js文件中。
  • 所以我这样做只是为了发现原始javascript中的Razor语法不适用于那里。
  • 然后我发现了一个名为RazorJS的VS插件,但它自2011年以来似乎没有更新,所以我甚至不打算去试试。

所以看起来我唯一的选择是在视图中托管我的javascript,但是我需要能够从局部视图中将它注入到视图中。有什么办法吗?

1 个答案:

答案 0 :(得分:-2)

无法从Razor 呈现任何东西到单独的javascript文件中(至少没有插件)。但是,常见的做法是在主视图页面中设置变量值,然后在单独的javascript文件中,通过参数使用这些变量/值。

例如......

查看:

<html>
<body>
...
  <button onclick='myFunction("@Model.MyVal");'>Click Here!</button>
</body>
</html>

Javascript文件:

function myFunction(myClickedVal) {
  alert(myClickedVal);
}

您也可以使用相同的概念并使用全局变量。但这样做需要您自担风险。