Result Div に ID を付けて、後で jQuery 経由で簡単に更新できるようにします。
<div id="resultDiv">
<ul></ul>
</div>
このJavaScriptコードを追加します
$(function(){
$("#searchButton").click(function(e){
var key=$("#searchKey").val();
$.getJSON("@Url.Action("search","Items")/"+key,function(data){
var items="";
$.each(data,function(index,item){
items+="<li>"+item.Name+"</li>;
});
$("#resultDiv>ul").html(items);
});
});
});
これで、検索キーを受け取り、結果を JSON 形式で返すアクション メソッドが必要になります。
public ActionResult Search(string id)
{
List<Product> productList=repo.GetSearchResultFromKey(id);
return Json(productList,JsonRequestBehaviour.AllowGet);
}
Product
以下のように呼び出されるビューモデルがあり、GetSearchResultFromKey
メソッドが検索キーから Product クラスのコレクションを返すと仮定します。
public class Product
{
public string Name { set;get;}
}
ここで行っているのは、ユーザーが検索ボタンをクリックすると、検索キーを取得して検索アクション メソッドを呼び出すことです。メソッドは製品のリストをJSON
形式で返します。JSON
Response内のアイテムを繰り返し処理し、アイテムを作成li
して要素に追加していul
ます。
ページに jQuery が含まれていることを確認します。