1

私は今jQueryを初めて使用し、RazorビューエンジンとともにTelerikasp.netMVCコントロールを使用しています。これが私の見解からのコードスニペットです。

    Html.Telerik().ComboBox().Name("cmb")                
    .AutoFill(true)
    .DataBinding(binding => binding.Ajax().Select("_loadData", "MyController").Cache(false))
    .ClientEvents(ce => ce.OnLoad("cmbLoaded"))

    function cmbLoaded(e) {            
        var ComboBox = $("#cmb").data("tComboBox");
        //do stuff here
    }

これが私がやろうとしていることです。追加のパラメーターをtelerikComboboxイベント(cmbLoadedイベントハンドラーなど)に送信します。どうやってやるの。

前もって感謝します。

4

3 に答える 3

3

しばらく経ちましたが、同様の状況に遭遇しました。OnLoad イベントにパラメーターとして渡す文字列は Javascript 関数参照であるため、次のようなものを渡すことができます。

.ClientEvents(ce => ce.OnLoad("function(e) { cmbLoaded.call(this,e," + Model.Id + "); }"))

次に、Javascript 関数の署名は次のように変更されます。

function cmbLoaded(e, id)
于 2013-04-23T22:39:29.423 に答える
2

コンボがサーバーからデータをフェッチしているときに、追加のパラメーターを送信しますか? 次に、 OnDataBindingイベントを使用して送信できます。例えば:

function onComboBoxDataBinding(e){
 e.data={extraParameter:"Cool"};
}

于 2012-04-04T13:53:10.427 に答える
0

コードブロックでいくつかの変数を定義し、それらをjavascriptイベントハンドラーで使用することで、これを行うことができます。次に例を示します。

@{
   string myPar1 = "some text";
   int myPar2 = 10;
}

<script type="text/javascript">

function cmbLoaded(e, '@myPar1' @myPar2) {            
        var ComboBox = $("#cmb").data("tComboBox");
        //do stuff here
    }

</sciprt>
于 2012-04-21T00:46:43.090 に答える