使用ASP.NET MVC摆脱JavaScript中的硬编码字符串
在我正在处理的一个项目中,我们遇到了一些问题,在这个项目中,我们有很多JavaScript文件,我们有控制器动作的硬编码URL使用ASP.NET MVC摆脱JavaScript中的硬编码字符串,javascript,asp.net-mvc,hardcoded,magic-string,Javascript,Asp.net Mvc,Hardcoded,Magic String,在我正在处理的一个项目中,我们遇到了一些问题,在这个项目中,我们有很多JavaScript文件,我们有控制器动作的硬编码URL 硬编码的URL容易出现键入错误 如果相关控制器或操作的名称发生更改,JavaScript脚本中的硬编码URL将导致中断 据我所知,像ReSharper这样的工具不能静态地分析一个动作没有被使用的方式,如果指向它的URL是硬编码的 问题 我们如何避免在JavaScript中使用硬编码URL有没有任何现有的框架可以解决这个问题 期待听到你的见解 谢谢。在您的情况下,您需要使
谢谢。在您的情况下,您需要使用url帮助程序从视图向js代码文件传递url。 修改js文件以使用模块模式之一 第一种方法-导入全局变量: js 看法 看法
模块('@Url.Action(“Action”,“controller”));
(function (url) {
// your code
}(external_url));
<script type="text/javascript">
var external_url = '@Url.Action("action", "controller")'; // define global variable `external_url` with helper. This should be defined before script run.
</script>
<script type="text/javascript" src="jsfile.js" />
var module = (function (url) {
// your code
}(external_url));
<script type="text/javascript" src="jsfile.js" />
<script type="text/javascript">
module('@Url.Action("action", "controller")');
</script>