У меня есть сетка Кендо, свойство Events которой привязано к функции (Grid_OnRowSelect) в внешнем файле javascript. В внешнем файле javascript есть другие функции (например, при нажатии кнопки * $ ("# btnS"). On ('click', function() {.... *) и некоторые другие. Функция Grid_OnRowSelect и другие функции используют общий набор переменных. Как я могу передать переменный внешний файл JavaScript с точкой зрения (cshtml), которые могут быть доступны всеми функциями.Как передать переменные внешнему файлу javascript, к которому можно получить доступ ко всем функциям
@(Html.Kendo().Grid<MyModel>()
.Name("rGrid")
.Events(events => events.Change("Grid_OnRowSelect"))
.Columns(columns =>
{
columns.Command(command =>
.......
.......
.......
внешнего JS файл
var MYFunc = MYFunc || (function() {
var _args = {}; // private
return {
init: function (Args) {
_args = Args;
// some other initialising
},
helloWorld: function() {
alert('Hello World! -' + _args[0]);
},
Grid_OnRowSelect: function (e) {
var data = this.dataItem(this.select());
detailRequestID = data.ID;
var url = _args[1] + "/" + detailRequestID;
window.location.href = url;
},
onError: function (e, status) {
//alert("A server error has occurred!");
var url = _args[2];
window.location.href = url;
}
};
}());
Как я пытаюсь передать аргументы
<script>
window.onload = function(){
var searchUrl = @Url.Action("Search");
var updateUrl = @Url.Action("Update");
var errorUrl = @Url.Action("ServerError", "Error");
};
MYFunc.init([searchUrl, updateUrl, errorUrl]);</script><script src="~/Scripts/Index.js"></script>
Но когда Grid_OnRowSelect или любой из функций запускается на выполнение _args является неопределенным. Что не так?
Спасибо.