[英]Autocomplete in WebService using LINQ
我正在使用Web服務自動完成。 在我的網絡服務中,我使用的是LDS。
問題是,當我嘗試這段代碼時:
這是我的UI代碼,它在Default.aspx中調用webservice:
<asp:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server">
<Services>
<asp:ServiceReference Path ="WebService1.asmx" />
</Services>
</asp:ToolkitScriptManager>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:AutoCompleteExtender ID="TextBox1_AutoCompleteExtender" runat="server"
DelimiterCharacters="" Enabled="True" ServicePath ="WebService1.asmx" ServiceMethod="ReturnEntity" EnableCaching="true" TargetControlID="TextBox1" CompletionSetCount ="1">
</asp:AutoCompleteExtender>
這是我的WebService文件(webservice1.asmx)
[WebMethod]
public string[] ReturnEntity(string prefixText, int count)
{
List<string> responses = new List<string>();
for (int i = 0; i < count; i++)
responses.Add(prefixText + (char)(i + 65));
return responses.ToArray();
}
然后它工作。 但是,我正在研究這個代碼,它不起作用......
[WebMethod]
public string[] ReturnEntity(string prefixText)
{
using (DataClasses1DataContext search = new DataClasses1DataContext())
{
string[] fullText = (from n in search.Entities
where n.Name.StartsWith(prefixText)
select n.Name).ToArray();
return fullText;
}
}
當我試圖在瀏覽器中運行webservice並傳遞一些參數時,它會顯示以下信息:
<?xml version="1.0" encoding="utf-8" ?>
- <ArrayOfString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://tempuri.org/">
<string>Starr</string>
<string>Sally Jeans</string>
<string>Steven Kline</string>
<string>Steven Goldberg</string>
</ArrayOfString>
這不會返回任何結果。 我只是想從我的表中顯示實體列表,列名稱是'名稱'。
無法弄清楚:(
嘗試使用StartsWith並傳入StringComparison
var result = from n in search.Entities
where n.Name.StartsWith(prefixText,
StringComparison.InvariantCultureIgnoreCase)
select n.Name;
return result.ToArray();
如果這仍然在調用的上下文中,您可以使用ToLower()
var result = from n in search.Entities
where n.Name.ToLower().StartsWith(prefixText.ToLower())
select n.Name;
return result.ToArray();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.