我不认为目前有任何方法可以做到这一点。Razor引擎不解析Javascript文件,仅解析Razor视图。但是,您可以通过在Razor视图中设置变量来完成所需的操作:
<script> var someStringValue = '@(ViewBag.someStringValue)'; var someNumericValue = @(ViewBag.someNumericValue);</script><!-- "someStringValue" and "someNumericValue" will be available in script --><script src="js/myscript.js"></script>
正如Joe在评论中指出的那样,如果其中只有一个引号,则上面的字符串值将中断。如果要完全固定,则必须将所有单引号替换为转义的单引号。问题在于所有突然的斜线都成为问题。例如,如果您的字符串是“
foo ' bar”,而您替换了单引号,那么结果将是“
foo \'bar”,您就回到了同样的问题。(这是链接编码的古老难题。)处理此问题的最佳方法是将反斜杠和引号视为特殊字符,并确保它们 均已 转义:
@{ var safeStringValue = ViewBag.someStringValue .Replace("\", "\\") .Replace("'", "\'"); } var someStringValue = '@(safeStringValue)';


