据我从互联网上研究,我写了一个AutoCompleteExtender来从WebService中提取数据。我找不到有什么问题。
我必须使用.Net 4.0和StoredProcedure。我想在单个表中搜索以'al'
开头的单词,但我找不到那些,当然,没有区分大小写。
HTML代码;
<asp:AutoCompleteExtender ID="txtArama_AutoCompleteExtender" runat="server" DelimiterCharacters=""
Enabled="True" ServiceMethod="EtiketAutoComplete" ServicePath="~/AutoComplete.asmx"
TargetControlID="txtArama" MinimumPrefixLength="2">
</asp:AutoCompleteExtender>
WebService代码;
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.Web.Script.Services.ScriptService()]
public class AutoComplete : WebService
{
[WebMethod]
public string[] GetEtiket(string prefixText)
{
try
{
DataSet ds;
ArrayList PN = new ArrayList();
DBProvider DBProvider_ = new DBProvider();
DBProvider_.AddParameters("@Etiket", SqlDbType.NVarChar, prefixText);
ds = DBProvider_.ExecuteDataSet("EtiketAutoComplete", CommandType.StoredProcedure);
if (ds != null)
{
foreach (DataRow dr in ds.Tables[0].Rows)
{
PN.Add(dr["Etiket"]);
}
}
return (string[])(PN.ToArray(typeof(string)));
}
catch (Exception)
{
return null;
}
}
}
答案 0 :(得分:0)
我认为您的服务方法应该:“GetEtiket”而不是“EtiketAutoComplete”。请检查。
答案 1 :(得分:0)
您的网络服务方法名称是GetEtiket
,但为什么要放置此ServiceMethod="EtiketAutoComplete"
?