使用下面的代碼,我成功地能夠顯示在Firefox和IE中的文本框自動完成列表,但它不顯示在谷歌鉻請幫助我。 數據庫中的數據正在成功檢索。我調試它,並沒有錯誤。AjaxControlToolkit AutoCompleteExtender列表不顯示在谷歌瀏覽器
<style type="text/css">
.AutoExtender
{
font-size: 12px;
color: #000;
padding: 3px 5px;
border: 1px solid #999;
background: #fff;
width: auto;
float: left;
z-index: 9999999999;
position:absolute;
margin-left:0px;
list-style: none;
font-weight: bold;
}
.listItem {
color: #191919;
}
.itemHighlighted {
background-color: #ADD6FF;
}
</style>
<asp:TextBox ID="TextBox1" placeholder="SELECT * FROM TABLEA" class="enjoy-css" runat="server" autocomplete="off" TextMode="multiline">
</asp:TextBox>
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<AjaxControlToolkit:AutoCompleteExtender
runat="server"
ID="AutoCompleteExtender1"
BehaviorID="AutoCompleteExtender1"
TargetControlID="TextBox1"
ServiceMethod="AutoCompleteAjaxRequest"
ServicePath="AutoComplete.asmx"
MinimumPrefixLength="3"
CompletionInterval="100"
EnableCaching="true"
CompletionSetCount="100"
CompletionListCssClass="AutoExtender"
CompletionListItemCssClass="listItem"
FirstRowSelected="true"
CompletionListHighlightedItemCssClass="itemHighlighted"
DelimiterCharacters=";, :\n\r"
showonlycurrentwordincompletionlistitem="true"
>
</AjaxControlToolkit:AutoCompleteExtender>
自動完成網絡服務
public string[] AutoCompleteAjaxRequest(string prefixText, int count)
{
Match match;
match = Regex.Match(prefixText, "(\\w+)$");
List<string> ajaxDataCollection = new List<string>();
if (match.Success)
{
String Query = "SELECT TABLE_NAME FROM(select TABLE_NAME from INFORMATION_SCHEMA.COLUMNS UNION select COLUMN_NAME from INFORMATION_SCHEMA.COLUMNS) COLUMN_NAME WHERE TABLE_NAME like '%" +match.Value+"%';";
DataTable dt = this.GetData(Query, CreateConnectionString(UserName, Password, DatabaseName, DataSource));
if (dt.Rows.Count > 0)
{
int countt = dt.Rows.Count;
for (int i = 0; i < countt; i++)
{
ajaxDataCollection.Add(dt.Rows[i]["TABLE_NAME"].ToString());
}
}
ajaxDataCollection.Add("SELECT");
ajaxDataCollection.Add("WHERE");
ajaxDataCollection.Add("UPDATE");
ajaxDataCollection.Add("INSERT");
ajaxDataCollection.Add("DELETE");
ajaxDataCollection.Add("EXEC");
ajaxDataCollection.Add("FROM");
ajaxDataCollection.Add("VALUES");
ajaxDataCollection.Add("HAVING");
return ajaxDataCollection.ToArray();
}
我已經在做這個..我沒有發佈整個Web服務的代碼,並且只發布了AutoCompleteExtender使用的服務方法。 –
我會嘗試使靜態方法 –
yes是爲服務方法添加這些也''[System.Web.Script.Services.ScriptMethod] [System.Web.Services.WebMethod]' – Webruster