2017-12-09 4 views
1

オートコンプリートウィジェットでAjaxバインディングを使用しています。バインディングは初めて(データの最初の読み込み時に)うまく動作しますが、値をバックアップすると、サーバーに再び戻らなくなります(データソース項目が更新されません)。新しい文字列を入力すると、データソースをリフレッシュする方法を教えてください。その後、あなたはServerFilteringdocumentation)を設定する必要があり、あなたの入力テキストが読み取りを提供するのでオートコンプリート - 最初の数文字を再入力した後、データソースのサーバー側のバインディングを起動するにはどうすればいいですか?

.DataSource(dataSource => dataSource 
.Read(read => read.Action("CustomerOrders", "Processing")) 
.ServerOperation(true) 

答えて

1

@(Html.Kendo().AutoComplete() 
    .Name("Orders") 
    .HtmlAttributes(new { style = "background-color:lightyellow;width:300px;" }) 
    .Events(e => 
    { 
     e.Select("selectOrder"); 
    }) 
    .Filter("startswith") 
    .Placeholder("Select order or enter new one") 
    .Filter("startswith") 
    .MinLength(3)  
    .DataSource(dataSource => dataSource 
    .Read(read => read.Action("CustomerOrders", "Processing") 
    .Type(HttpVerbs.Post).Data("getInputs"))).DataTextField("HouseNo")) 
1

私はあなたがこのように、真のデータソースにServerOperationを設定したいと思いますあなたのデータソースはtrueになり、常にサーバーからフィルタリングされます。私はあなたがそれを正しく処理したいと思う方法だと思いますか?あなたが大量のデータを持っている場合、あなたのデータソースが読み込まれます。この

.MinLength(4) 

この方法のように例3-4のためにあなたの要求のためMINLENGTHを設定するのは良い考えかもしれませんが、これ は常にサーバーのフィルタリングをトリガーします最初の4文字を入力した後に文字を削除すると、dataSource.Readもトリガーされます。

関連する問題