我有我的asp.net頁面各處一個UpdatePanel包裹在一個簡單的文本框:jQuery的自動完成不知道如何加載C#處理
<asp:UpdatePanel ID="UpdatePanel1" UpdateMode="Always" ChildrenAsTriggers="true" runat="server">
<ContentTemplate>
<asp:TextBox ID="txtShipToName" runat="server"
ToolTip="Enter a name such as a company name or contact name."
MaxLength="50"></asp:TextBox>
</ContentTemplate>
</asp:UpdatePanel>
想實現自動完成......所以我創建了一個。 ashx的文件(IHttpHandler的),像這樣:
public class LoadAddress : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
DataSet ds;
Dictionary<long, string> lstAddresses = new Dictionary<long, string>();
ds = BL.GetAddresses(string.Empty, "both", 0, 100); //just snatching some data...
foreach(DataRow dr in ds.Tables[0].Rows)
{
lstAddresses.Add(Convert.ToInt64(dr["AddressID"].ToString()), dr["Name"].ToString());
}
StringBuilder builder = new StringBuilder();
foreach (KeyValuePair<long, string> item in lstAddresses)
{
builder.Append(string.Format("{0}|{1}|{2}",
item.Value,
item.Key,
Environment.NewLine));
}
context.Response.Write(builder.ToString());
}
public bool IsReusable
{
get
{
return false;
}
}
}
但我不知道如何調用它的jQuery,我想:
$("#<%= txtShipToName.ClientID %>").autocomplete('LoadAddress.ashx').
result(function (event, data, formatted) { // data[0] : Address, data[1] : Address ID
});
但結果是不確定的,注意這個方法甚至不存在...我怎樣才能調用LoadAddress.ashx?
編輯
我加入到網絡配置文件:
<httpHandlers>
<add verb="*" path="LoadAddress.ashx" type="MyShipper.LoadAddress"/>
</httpHandlers>
但似乎沒有工作自動完成......在jQuery的我改成簡單:
$("#<%= txtShipToName.ClientID %>").autocomplete('LoadAddress.ashx');
但就像我說過的,沒有自動完成功能出現。 Chrome中的開發人員工具沒有錯誤。 我可能會錯過什麼?
請誰能幫我這個:( – oJM86o