前台代码
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<br />
<asp:AutoCompleteExtender ID="AutoCompleteExtender1"
runat="server"
TargetControlID="TextBox1" MinimumPrefixLength="1"
ServicePath="~/WebService.asmx" ServiceMethod="GetProduct">
</asp:AutoCompleteExtender>
后台代码
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.Web.Script.Services.ScriptService]
public class WebService : System.Web.Services.WebService {
[WebMethod]
[System.Web.Script.Services.ScriptMethod]
public string[] GetProduct(string prefixText)
{
DataTable table = CatalogAccess.GetProductName(prefixText);注意:已经确定table有值,确实返回了一个表。
List<string> suggestions = new List<string>();
for(int i=0;i<=table.Rows.Count;i++)
{
suggestions.Add(table.Rows[i][0].ToString());
}
return suggestions.ToArray();
}
}
for(int i=0;i<=table.Rows.Count;i++)多了个=号,晕死
呵呵,这样的问题Debug一下就可以了,都会碰到的
楼上说的都对,显然是索引越界,还有就是不会调试的程序员是伤不起的。