私は、イベントプロパティが外部のjavascriptファイルの関数(Grid_OnRowSelect)にフックされています。外部のjavascriptファイルには他の機能があります(ボタンクリック* $( "#btnS")など)。( 'click'、function(){.... *)他にもいくつかあります。その他の機能は、私はすべての機能によってアクセスできるビュー(CSHTML)から外部のJavaScriptファイルに変数を渡すことができますどのように。変数の共通セットを使用しています。すべての関数でアクセスできる外部の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を実行されます時に定義されていないに合格しようとしています。何が間違っていますか?
ありがとうございました。