jQuery autocompleteをチェックアウトします。
次のように使用できます。
$('#<%= yourTextBox.ClientID %>').autocomplete({
source: 'HandlerThatReturnsProductNames.ashx',
select: function (event, ui) {
// this is where you would jump to your product page
}
});
次に、汎用ハンドラー「HandlerThatReturnsProductNames.ashx」を作成する必要があります。メソッドでは、次のProcessRequest
ようなことを行う必要があります。
public void ProcessRequest(HttpContext context) {
string term = context.Request.QueryString.Get("term");
List<QuickProduct> listOfProducts = SomeMethodThatGetsMatchingProducts(term);
var jsSerializer = new System.Web.Script.Serialization.JavaScriptSerializer();
string json = jsSerializer.Serialize(listOfProducts);
context.Response.ContentType = "application/json";
context.Response.Write(json);
context.Response.End();
}
あなたが次のようなものであると仮定しますQuickProduct
:
public class QuickProduct {
public int value { get; set; }
public string label { get; set; }
}