不是一個具體的問題的答案,但我一直使用Ajax控件工具包自動完成擴展,但後來我發現了JQuery的一個,在我看來這是更好的,我認爲你可以很容易地做你想做的,雖然您需要將其分配給jQuery中的每個控件,但您只需要2個函數,一個用於獲取數據,另一個用於處理結果。
你做類似的東西如下:
$(document).ready(function() {
$('#<%=txtSearchBox.ClientID%>').autocomplete('/Search.ashx');
$('#<%=txtSearchBox.ClientID%>').result(function (event, data, formatted) {
if (data) {
// Extract the data values
var name = data[0]; // appears in textbox
var dataval1= data[1];
var dataval2= data[2];
$("#<%=hdndataval1.ClientID%>").val(dataval1);
$("#<%=hdndataval2 .ClientID%>").val(dataval2);
}
});
});
你必須使用隱藏字段存儲的ID,但它使用一個處理程序自動填充很好。
public void ProcessRequest(HttpContext context)
{
string prefixText = context.Request.QueryString["q"];
//do your thing here and return as a bar separated list
StringBuilder sb = new StringBuilder();
foreach(Results res in results)
{
sb.Append(String.Format("{0}|{1}|{2}", +res.Val1, res.Val2, res.Val3));
sb.Append(Environment.NewLine);
}
context.Response.Write(sb.ToString());
}
jQuery的是here(我認爲)
必須承認我使用該控件工具箱發誓,但已經被引入到jQuery的我已經找到了控制負荷,我認爲要好得多!
只是想我會在你的方向拋出一個不同的選擇!
來源
2011-10-17 16:00:01
Bex
謝謝,我研究過它,它感覺像一個更可行的解決方案,ajaxtoolkit似乎不會讓你定製它的大部分行爲。 –
很高興爲您服務!當你需要使用ajax時,肯定會查看其他可用的Jquery控件..有一些有趣的! – Bex