これには簡単な答えがあるように感じますが、JSONデータをJQueryUIオートコンプリート関数に返すときに問題が発生します。'label'フィールドと'value'フィールドを使用しているので、idフィールドを格納できます。問題は、JQuery関数に渡された後、オブジェクトの値を解析できないことです。
ASP.NET C#には、次のオブジェクトがあります。
public class AutoCompleteItem
{
public string label { get; set; }
public string value { get; set; }
}
それらをリストに設定し、JSONとしてフォーマットして、次を返します。
List<AutoCompleteItem> autoCompleteItems = new List<AutoCompleteItem>();
// Loop through data, add objects to list
var oSerializer = new JavaScriptSerializer();
string sJSON = oSerializer.Serialize(autoCompleteItems);
return sJSON;
JQueryに渡された後のJSONデータ:
"[{"label":"Steve","value":"ID4545"},{"label":"Joe","value":"ID1212"},{"label":"Rick","value":"ID6767"}]"
これは、JSONからデータを取得するために使用している関数です。
success: function (data) {
response($.map(data.d, function (item) {
return {
label: item.label,
value: item.value
}
}));
},
'label'、'value'形式を使用する前に、IList文字列だけで機能することに気づきました。渡されたデータの外側には引用符がありませんでしたが、私の元の例には引用符があります
["Steve", "Joe", "Rick"]
これが問題に関係しているかどうかはわかりませんが、私は多くのことを試みましたが無駄になりました。どんな助けでも大歓迎です!