我在ASP.NET網頁用下面的代碼,Default.aspx的:keyup事件稱爲數據庫功能和填充列表框
<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;
}
}
對不起,我對此很新,但是如何完成上面的代碼來填充同一頁面上的列表框?基本上,每當用戶在文本框中輸入密鑰時,列表框的內容都會刷新。我想從類文件中調用C#函數GetItems()
。
新的編輯:
基本上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事件,並使用一個按鈕事件相反,這將使它成爲一個更好的方案?
[使用jQuery到C#中的結果]的可能的重複(http://stackoverflow.com/questions/7740545/using-the-result-from-jquery-into-c-sharp) - 另一種方式但是原則是一樣的。 –
@ Mr.Disappointment您能否提供一個示例,因爲我不太瞭解所發佈的參考信息。謝謝。 – RiceBucket