我有一个ASP.NET MVC View(Razor),在文件末尾我加载了一些javascript:
@section FooterScripts{
<script>
$(function () {
// creates the data table
var ajaxUrl = '@Url.Content("~/Accounting/GetListAccounts")/';
});
</script>
<script src="~/Scripts/pages/list-account.js"></script>
}
现在,list-account.js
使用原型模式并具有以下内容:
! function($) {
"use strict";
var ListAccount = function() {
this.$window = $(window)
};
ListAccount.prototype.start = function() {
var $this = this;
var ajaxUrl = '@Url.Content("~/Accounting/GetListAccounts")/';
},
//init
$.ListAccount = new ListAccount, $.ListAccount.Constructor = ListAccount
}(window.jQuery),
//initializing
function($) {
"use strict";
$.ListAccount.start();
}(window.jQuery);
我的问题是这里变量ajaxUrl
没有得到解决。似乎为Razor
解析@Url.Content
变量应该在代码中。
任何变通方法或解决方案,以便我的
prototype javascript
文件解析@ Url.Content?
答案 0 :(得分:0)
如果你想在javascript中使用razor,你必须在.cshtml
文件中编写js代码,在你的情况下,你可以将ajaxUrl设置为全局变量并在{{1}中调用它文件,如下所示:
.js
您可以直接在 list-account.js 文件中使用ajaxUrl