我在整個網站和網絡上搜索了一個使用jQuery和ASP.NET進行自動填充的簡單示例。我想通過網絡服務公開自動完成所使用的數據(接下來可能會做)。在此期間,我開始進行此操作,但似乎有點不客氣...我的頁面上有一個文本框:<input id="txtSearch" type="text" />我正在使用jQuery自動完成功能,請按照他們的示例進行設置:<link rel="stylesheet" href="js/jquery.autocomplete.css" type="text/css" /><script type="text/javascript" src="js/jquery.bgiframe.js"></script><script type="text/javascript" src="js/jquery.dimensions.pack.js"></script><script type="text/javascript" src="js/jquery.autocomplete.js"></script>這是開始變得駭人聽聞的地方...我叫頁面而不是網絡服務: <script type="text/javascript"> $(document).ready(function(){ $("#txtSearch").autocomplete('autocompletetagdata.aspx'); }); </script>在頁面中,我剝離了所有html,僅保留了它(否則,各種HTML位會顯示在自動完成下拉菜單中):<%@ Page Language="C#" AutoEventWireup="true" CodeFile="autocompletetagdata.aspx.cs" Inherits="autocompletetagdata" %>在我的autocompletetagdata.aspx中,我正在使用SubSonic來查詢,格式化和返回數據庫中的數據(每行一個數據項):protected void Page_Load(object sender, EventArgs e){ // Note the query strings passed by jquery autocomplete: //QueryString: {q=a&limit=150×tamp=1227198175320} LookupTagCollection tags = Select.AllColumnsFrom<LookupTag>() .Top(Request.QueryString["limit"]) .Where(LookupTag.Columns.TagDescription).Like(Request.QueryString["q"] + "%") .OrderAsc(LookupTag.Columns.TagDescription) .ExecuteAsCollection<LookupTagCollection>(); StringBuilder sb = new StringBuilder(); foreach (LookupTag tag in tags) { sb.Append(tag.TagDescription).Append("\n"); } Response.Write(sb.ToString());}如果您不執行LIKE查詢,則它將返回包含與您鍵入的字符匹配的所有內容的內容,例如,鍵入“ a”將包括“ Ask”和“ Answer”以及“ March”和“兆?!?我只是想讓它從比賽開始。無論如何,它可以工作并且很容易設置,但是有更好的方法嗎?
- 3 回答
- 0 關注
- 611 瀏覽
添加回答
舉報
0/150
提交
取消