1

製品リスト ページと製品詳細ページを含む Web サイトがあります。

aspマスターページに、データベース内の製品を検索するためのテキストボックスを配置しました。

私がする必要があるのは、訪問者がテキストボックスに書き始めると、テキストボックスはデータベース内の製品名から自動補完されます。

訪問者がドロップダウン リストの結果に対して Enter キーを押すと、サイトは、ホームページからクエリ文字列によって渡された ID から送信された製品の詳細が入力された製品の詳細ページに移動します。

助けてください私はたくさん検索しましたが、私のケースではうまくいかなかった非常によく似た質問があります。

チュートリアルや私のような別の質問へのリンクは完璧です。

どうもありがとうございます

4

2 に答える 2

1

automcompleteextender が必要です。それについて読む

  1. コードプロジェクトのチュートリアルはこちら
  2. 公式ドキュメントはこちら
  3. ここでニーズを正確にカバーするMSDNチュートリアル
于 2012-06-29T16:48:53.003 に答える
1

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; }
}
于 2012-06-29T17:02:58.830 に答える