0
1)
創建從一個aspx方法填充一個jQuery自動完成框,
2)
一旦我得到的結果,我想填充這些結果在一個列表裏面。
目前我正在嘗試做第一步,但沒有我的成功。
我的代碼如下: -
ASPX
<script>
$(function() {
$("#persons").autocomplete({
//source: availableTags
source: function (request, response) {
var term = request.term;
var personArray = new Array();
$.post('JQAutoComplete.aspx/FetchPersonList', { personName: term }, function (persons) {
personArray = persons;
alert('PersonArray' - personArray);
alert('Persons' - persons);
response(personArray);
});
}
});
});
<div class="ui-widget">
<label for="persons">Persons: </label>
<input id="persons" />
</div>
</body>
,我的aspx.cs是小號如下: -
public JsonResult FetchPersonList(string personName)
{
var persons = ctx.GetDataFromXML(false, 0);
return (persons) as JsonResult;
}
** * ** * ** * ****UPDATE ASPX.CS* ** * * * * ** * ** * ** * *** 行,所以我改變了方法如下: -
[WebMethod]
public static List<Person> FetchPersonList()
{
//var persons = this.HouseService.SelectByName(houseName).Select(e => new String(e.Name.ToCharArray())).ToArray();
var persons = ctx.GetDataFromXML(false, 0);
return (List<Person>) persons;
}
,但我仍然無法通過該方法獲得!
但是,代碼根本沒有觸及此方法。
如何獲取此列表?
感謝您的幫助和時間
嘗試設置的minLength爲自動完成,也「cache = false」用於ajax請求 – 2013-03-11 12:04:07
您是否在服務器端用[WebMethod]修飾了您的方法?這也可能是可能的原因, – 2013-03-11 12:06:35
該方法應該是靜態的,並且使用[WebMethod]屬性進行解碼。 – Devjosh 2013-03-11 12:07:30