我在我的應用程序中使用了自動完成擴展器,但它不起作用。這是我的代碼:ajax(asp.net)中的Autocomplet擴展控件?
<form id="form1" runat="server">
<asp:scriptmanager ID="Scriptmanager1" runat="server"></asp:scriptmanager>
<br />
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<div>
<cc1:AutoCompleteExtender TargetControlID="TextBox1" MinimumPrefixLength="1"
ServiceMethod="GetVideoTitles" CompletionSetCount="10" ServicePath="Myservices.asmx" ID="AutoCompleteExtender1" runat="server">
</cc1:AutoCompleteExtender>
</div>
</form>
這是Web服務的方法:
public string[] GetVideoTitles(string prefixText)
{
SqlConnection con = new SqlConnection(@"Data Source=SERVER5\SQLserver2005;Initial Catalog=tpvnew;User ID=xx;Password=525");
con.Open();
SqlCommand cmd = new SqlCommand("video_videotitles", con);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("@prefixText", SqlDbType.VarChar, 50);
cmd.Parameters["@prefixText"].Value = prefixText;
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
da.Fill(dt);
string[] items = new string[dt.Rows.Count];
int i = 0;
foreach (DataRow dr in dt.Rows)
{
items.SetValue(dr["videotitle"].ToString(), i);
i++;
}
return items;
}
確定我會盡量通知您,感謝您迴應 – 2010-03-06 11:48:32
斷點不點火。當我做一個web服務(Myservices.mscx)startuppage它工作正常。但是當我做startuppage作爲default.aspx它沒有顯示我的texbox的任何下拉 – 2010-03-06 11:52:47
我假設servicepath是正確的,你可以直接訪問它:也許你缺乏屬性[System.Web.Script.Services.ScriptMethod ]上的方法和Web服務類上的[System.Web.Script.Services.ScriptService]? – Luhmann 2010-03-06 12:11:40