2017-06-07 16 views
0

剣道複数選択データリード私はこの剣道複数選択コンポーネントをクリックすると

@(Html.Kendo().MultiSelect() 
 
      .Name(Html.Name(ReflectionExtensions.GetName((IAddressViewModel x) => x.SuburbId)).ToString()) 
 
      .DataTextField("DisplayName") 
 
      .DataValueField("Id") 
 
      .Placeholder("Select products...") 
 
      .AutoBind(false) 
 
      .DataSource(source => 
 
      { 
 
       source.Read(read => 
 
       { 
 
        read.Action("GetSuburbsByCountry", "Data").Data("siberia.address.filterSuburbByCountryIdParameter"); 
 
       }) 
 
       .ServerFiltering(true); 
 
      })

のキャッシュがなければ、サーバーへのAJAX呼び出しを送信するデータを得るが、私は再びそれをクリックし、それは、Ajaxリクエストを送信しません。 。それはキャッシュされた(以前に返されたデータ)を示します。毎回ajaxコールを送信する必要があります(mvcラッパー、トランスポート - >キャッシュ:falseが必要です)。あなたが強制するために[ `読む()`](http://docs.telerik.com/kendo-ui/api/javascript/data/datasource#methods-read)関数を使用する必要が

+0

複数選択のリフレッシュ。これは、マルチセレクションの['select'](http://docs.telerik.com/aspnet-mvc/helpers/multiselect/overview#by-handler-name)イベントによって引き起こされる可能性があります。 – Sandman

+0

ありがとうございました、私は読書のためにイベントをフィルタリングしました。わたしにはできる。 – tint

+0

あなたの回答を投稿すると、今後同様の問題が発生している他の人には役に立ちます:) – Sandman

答えて

0
@(Html.Kendo().MultiSelect() 
       .Name(Html.Name(ReflectionExtensions.GetName((IAddressViewModel x) => x.SuburbId)).ToString()) 
       .DataTextField("DisplayName") 
       .DataValueField("Id") 
       .Placeholder("Select Suburb") 
       .AutoBind(false) 
       .Events(e => { e.Filtering("siberia.address.onSuburbFiltering"); }) 
       .MinLength(1) 
       .DataSource(source => 
       { 
        source.Read(read => 
        { 
         read.Action("GetSuburbsByCountry", "Data").Data("siberia.address.filterSuburbByCountryIdParameter"); 
        }) 
        .ServerFiltering(true); 
       }) 

------------------------------------------------------------------------- 

function onSuburbFiltering() { 
    var currentSuburbId = '#' + prefix + 'SuburbId'; 
    $(currentSuburbId).data().kendoMultiSelect.dataSource.read(); 
} 

------------------------------------------------------------------------- 

function filterSuburbByCountryIdParameter() { 
    var currentCountryId = '#' + prefix + 'CountryId'; 
    var currentSuburbId = '#' + prefix + 'SuburbId'; 
    var selectedCountry = $(currentCountryId).data("kendoDropDownList").value(); 
    var surburbFilterText = $(currentSuburbId).data("kendoMultiSelect")._prev; 
    return { 
     SelectedCountryId: selectedCountry, 
     Text: surburbFilterText 
    } 
} 
関連する問題