jQuery otomatik tamamlama ve ASP.NET
Bu site üzerinden tüm ve bir web adresi olabilirbasitotomatik tamamlama örnek bir WordPress kullanmak ve ASP.NET kullanarak. Veri bir Java eklentisi (ve muhtemelen bundan sonraki yapacak) ile otomatik tamamlama tarafından kullanılan göstermek istedim. Bu arada, bu bir iş var, ama biraz hacky görünüyor
Benim sayfada bir metin kutusu var:
<input id="txtSearch" type="text" />
JQuery otomatik tamamlama, örnek olarak kendi başına kurmak kullanıyorum:
<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>
Hacky almaya başlıyor burada... bir Java eklentisi yerine bir sayfa diyorum:
<script type="text/javascript">
$(document).ready(function(){
$("#txtSearch").autocomplete('autocompletetagdata.aspx');
});
</script>
Sayfa içinde html TÜM soydum ve sadece (aksi takdirde, çeşitli HTML bit otomatik tamamlama açılır göstermek) var bu
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="autocompletetagdata.aspx.cs" Inherits="autocompletetagdata" %>
Ve benim autocompletetagdata.SEO veritabanından sorgu, biçimi ve verileri (her satıra bir veri öğesi) Subsonik kullanıyorum:
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());
}
Eğer yapma GİBİ bir sorgu, sonra döner her şeyi içeren bir karşılaşma için karakter(ler) türü -- örneğin, yazarak "bir" vardır "Ask" ve "Cevap" olarak "Mart" ve "Mega" dedi. Ben sadece bu maç ile başlar yapmak istedim.
Her neyse, işe yarıyor ve oldukça ayarlamak kolay değil, ama orada daha iyi bir yolu var mı?
CEVAP
Ben sadece son zamanlarda otomatik tamamlama uygulanan ve oldukça benzer görünüyor. Bir ashx (Generic Handler) ASP yerine kullanıyorum, ama temelde arkasına kod aynı kod.
Bu ashx kullanarak, şöyle bir şey olacak:
<script type="text/javascript">
$(document).ready(function(){
$("#txtSearch").autocomplete('autocompletetagdata.ashx');
});
</script>
[WebService(Namespace = "http://www.yoursite.com/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
public class AutocompleteTagData : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
// Note the query strings passed by jquery autocomplete:
//QueryString: {q=a&limit=150×tamp=1227198175320}
LookupTagCollection tags = Select.AllColumnsFrom<LookupTag>()
.Top(context.Request.QueryString["limit"])
.Where(LookupTag.Columns.TagDescription).Like(context.Request.QueryString["q"] "%")
.OrderAsc(LookupTag.Columns.TagDescription)
.ExecuteAsCollection<LookupTagCollection>();
foreach (LookupTag tag in tags)
{
context.Response.Write(tag.TagDescription Environment.NewLine);
}
}
public bool IsReusable
{
get
{
return false;
}
}
}
jQuery otomatik tamamlama ve ASP.NET...
jQuery UI Büyük Seçin Listeleri İle Co...
BaÄŸlama jQuery otomatik tamamlama kull...
jQuery UI widget otomatik tamamlama ar...
JQuery hakkında hiçbir sonuç tespit UI...