ASP.NET に、次のコードDefault.aspxを含む Web ページがあります。
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script src="../Scripts/jquery-1.7.2.min.js" type="text/javascript"></script>
<script src="SearchHandler.js" type="text/javascript"></script>
</head>
<body>
<form id="form1" runat="server">
<asp:TextBox ID="search" runat="server"></asp:TextBox>
<asp:ListBox ID="listbox" runat="server" SelectionMode="Multiple"></asp:ListBox>
</form>
</body>
</html>
私のSearchHandler.jsには、次のコードがあります。
$(document).ready(function () {
$('#search').keyup(function () {
//..do something here and populate listbox from database query result.
//..call C# function GetItems(), passing input as parameter and use to populate ListBox.
});
});
Functions.csで:
public class Functions
{
Database db = new Database();
public List<string> GetItems(string searchinput)
{
List<string> items = db.DoSomething(searchinput);
return items;
}
}
申し訳ありませんが、私はこれにかなり慣れていませんが、上記のコードを完成させて同じページのリストボックスにデータを入力するにはどうすればよいですか? 基本的に、リストボックスの内容は、ユーザーがテキストボックスで「キーアップ」するたびに更新されます。Functions.csクラス ファイルGetItems()
からC# 関数を呼び出したいと思います。
新しい編集:
基本的GetItems()
にキー入力を受け取り、キーが押されるたびにデータベースクエリを起動して関連するレコードを取得します。以下のようなテーブルがあります(例):
TableA
Name Country
Tom England
Bill USA
John Australia
Jim China
Harry Belgium
Johnathan France
したがって、誰かが検索ボックスに「ジョン」と入力すると、「オーストラリア」と「フランス」がリストボックスに表示されます。
SELECT Country FROM TableA WHERE Name LIKE '%John%'
編集 21/06/12: KeyUp イベントを使用せず、代わりにボタン イベントを使用した場合、これはより良いシナリオになりますか?