0
我想讓autoCompleteExtender在文本框的焦點上填充所有可能性。到目前爲止,我沒有運氣。我曾嘗試在文本框標記中添加onfucus以調用js函數,該函數調用webmethod從數據表中填充,但沒有運氣。 webmethod正在被調用,但沒有顯示在頁面上。只有在文本框中輸入內容後,纔會有任何建議。 這裏是aspx頁面控制:自動填充AutoCompleteExtender與第一次點擊時的所有可能性
<div title="Model" runat="server" style="text-align:left; padding:20px"><strong>Model</strong>
<asp:TextBox ID="tbModel" runat="server" onfocus="ModelTBOnFocus()"></asp:TextBox>
<div id="ModelListPlacement" style="height:100px; overflow-y:scroll;" ></div>
<ajaxToolkit:AutoCompleteExtender ID="tbModel_AutoCompleteExtender" runat="server" DelimiterCharacters=""
Enabled="True" ServiceMethod="GetListofModels" MinimumPrefixLength="1" EnableCaching="true"
ServicePath="" TargetControlID="tbModel" CompletionInterval="50" CompletionSetCount="40"
CompletionListElementID="ModelListPlacement"></ajaxToolkit:AutoCompleteExtender>
</div>
,這裏是代碼隱藏WEBMETHOD:
[System.Web.Script.Services.ScriptMethod()]
[System.Web.Services.WebMethod]
public static List<string> GetListofModels(string prefixText)
{
using (SqlConnection sqlconn = new SqlConnection(GetConnectionStringValue("")))
{
sqlconn.Open();
SqlCommand cmd = new SqlCommand("SELECT DISTINCT(Model) FROM Assets WHERE Model like '" + prefixText + "%' " + ModelQuery, sqlconn);
cmd.Parameters.AddWithValue("@Model", prefixText);
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
da.Fill(dt);
List<string> Models = new List<string>();
TextInfo myTI = CultureInfo.CurrentCulture.TextInfo;
for (int i = 0; i < dt.Rows.Count; i++)
{
string model = myTI.ToTitleCase(dt.Rows[i]["Model"].ToString().ToLower());
Models.Add(model);
}
return Models;
}
}
這是工作的代碼。我只是試圖讓所有的可能性來顯示文本框的重點。任何幫助將非常感激。謝謝!
編輯: 這js也在工作,但我沒有得到任何建議,直到輸入內容。 這裏是JavaScript代碼來調用該函數:
<script type="text/javascript">
function ModelTBOnFocus() {
PageMethods.GetListofModels("");
}
</script>
你不介意分享你的JavaScript代碼寫爲重點?爲什麼我問自動完成有自己的焦點事件,可能會幫助觸發您的代碼。自動完成焦點事件是'''autocompletefocus''' – Hopeless
我將如何在此代碼中實現自動完成焦點。我試圖將其添加到autoCompleteExtender標記,但錯誤表示沒有公共屬性存在。 – kristech
嗯,不知道,你有沒有機會嘗試一些在這個https://stackoverflow.com/questions/4132058/display-jquery-ui-auto-complete-list-on-focus-event 。嘗試添加這個'''$(this).data(「autocomplete」).search($(this).val());'''到你的javascript函數,並且通過'''this''從asp頁面。 – Hopeless