Javascript - это файлы, которые не анализируются компилятором, поэтому у вас нет шансов ...
Однако вы можете использовать динамический JavaScript, например:
<script src="/CustomScripts/scripts.js"><script>
Есть маршрут, который говорит:
routes.MapRoute(
"CustomScripts", "CustomScripts/{id}",
new { controller = "Scripts", action = "GetFile" }
);
Создайте свой контроллер и используйте простой return View();
как
public ActionResult GetFile(string id)
{
// use id as you please
// pass any Model you want
return View();
}
В этом представлении, просто поместите вашJavaScript с Razor синтаксис .
Или вы можете использовать переменные и загружать их, используя RenderSection()
в вашем _Layout.cshtml
файле добавитьраздел в вашем <head>
перед любым другим javascript
<head>
<meta charset="utf-8" />
<title>@ViewBag.Title</title>
<link href="@Url.Content("~/Content/Site.css")" rel="stylesheet" type="text/css" />
@RenderSection("script_variables", false)
<script src="@Url.Content("~/Scripts/jquery-1.6.2.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/modernizr-2.0.6-development-only.js")" type="text/javascript"></script>
</head>
и в любом View
, в который вы хотите добавить такие переменные, просто выполните:
@Section script_variables {
<script type="text/javascript">
var variableA = '@MyVarA',
variableB = '@MyVarB',
variableC = '@MyVarC';
</script>
}
и все другие файлы, которыеВы загружаете скрипт, будет иметь такой код ...