簡體   English   中英

jQuery自動完成從aspx頁面中的模型加載數據

[英]JQuery Autocomplete loading data from model in aspx page

我在嘗試着

1)創建一個從aspx方法填充的JQuery AutoComplete框,然后

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;
    }

但我仍然無法通過該方法!


但是,代碼根本沒有觸及此方法。

如何獲得此清單?

感謝您的幫助和時間

好的,我發現了問題。

我將JQuery更改為以下內容,並立即調用該方法:-

    $(document).ready(function () {
    SearchText();
});
function SearchText() {
    $("#persons").autocomplete({
        source: function (request, response) {
            $.ajax({
                type: "POST",
                contentType: "application/json; charset=utf-8",
                url: "JQAutoComplete2.aspx/FetchPersons",
                data: "{'name':'" + document.getElementById('persons').value + "'}",
                dataType: "json",
                success: function (data) {
                    response(data.d);
                    alert(data.d);
                },
                error: function (result) {
                    alert("Error");
                }
            });
        }
    });
}

和我的ASPX.CS看起來像這樣:-

        [WebMethod]
    public static List<Person> FetchPersons(string name)
    {
        var persons = ctx.GetDataFromXML(false, 0);

        return (List<Person>)persons;

    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM