1

チュートリアルを使用して剣道オートコンプリートを構成しようとしています。問題は、剣道の初期化で設定したプロパティ値ではなく、オートコンプリート コントロールがオブジェクトを表示することです (キャプチャを参照)。

@(
    Html.Kendo().AutoComplete()
    .Name("products")
    .Placeholder("Find Product...")
    .DataTextField("Name")
    .Template("<span><img src='/Content/Images/default-photo.jpg' " +
    "width='20' height='20' />&nbsp;${data}</span>")
    .DataSource(source =>
    {
        source.Read(read =>
        {
            read.Action("GetProducts", "Search")
            .Data("onAdditionalData");
        })
            .ServerFiltering(true);
    })

)

<script>
    function onAdditionalData() {
        return {
            text: $("#products").val()
        };
    }
</script>

ここに画像の説明を入力

この項目をクリックすると、名前が正しく表示されます。 ここに画像の説明を入力

私のアクションの戻り値の型はreturn Json(products, JsonRequestBehavior.AllowGet); 、製品がどこICollection<VmProduct> にあるかです。

4

1 に答える 1

1

を設定しましたDataTextFieldが、 を設定すると上書きされます。これはTemplate、剣道が設定したフィールドを取得する代わりにテンプレートを実行するためです。しかし、それは問題ではありません。問題は、テンプレートでdataオブジェクトを印刷していることです。これは実際にはオブジェクトです。提案テキストに関連するプロパティを出力する必要があります。

.Template("<span><img src='/Content/Images/default-photo.jpg' " +
"width='20' height='20' />&nbsp;${data.Name}</span>")

試してみて、どうなるか教えてください。

于 2016-03-31T13:49:31.993 に答える