3

バージョン 4.0 で非常に興味深いライブラリ select2.js を使用しています。

動的 ajax Data からドロップダウンを表示できますが、dropdown2 によって生成された拡張ドロップダウンにより、ユーザーはフィルター テキストを入力でき、このテキストを ajax によって返されるデータをフィルター処理するためのパラメーターとしてサーバー メソッドに送信したいと考えています。

私はasp mvcプロジェクトで試しています

JavaScript コード:

$(".example-select2").select2({
    ajax: {
        dataType: 'json',
         url: '@Url.Action("GetSrcMethode", "GetCheckSet")',
       processResults: function (data) 
       {
             return {results: JSON.parse(data)};
       } 
      //what I am looking for
      //javascript code for sending search as parameter            
    }
});

私のC#メソッドは

public JsonResult GetSrcMethode(string searchTerme //!!!always null!!!)
    {            
        //...
        // get data and filter it from searchTerme
        //...
        Object json = JsonConvert.SerializeObject(filteredData);
        return Json(json, JsonRequestBehavior.AllowGet);
    }

searchTerme 変数で受け取ったパラメーターは常に null です。

パラメータのドロップダウンの検索テキストをサーバーメソッドに送信する方法を知っていますか?

4

1 に答える 1

3

デフォルトでは、Select2 は検索語をqクエリ パラメータとして送信します。したがって、AJAX 要求に対して生成される URL は/url/?q=search+terms. あなたの場合、メソッドのパラメーターを named に変更できるはずです。qその後、フィルタリング時にそれを着信検索語として使用できます。

public JsonResult GetSrcMethode(string q)
    {            
        //...
        // get data and filter it from q
        //...
        Object json = JsonConvert.SerializeObject(filteredData);
        return Json(json, JsonRequestBehavior.AllowGet);
    }

または、(クエリ パラメータに変換される) オプションを変更して、ajax.data探しているパラメータに一致するキーを持つオブジェクトを返すこともできます。

于 2015-07-20T23:19:28.300 に答える