0

私はJqueryとMVC 3が初めてです。

非常に単純な例を作成しようとしています。

jquery コンボボックスがあり、ページの読み込み中にいくつかのデータを入力したいと考えています。

コードは次のとおりです。

クライアント

$(function () {
       $("#combobox").combobox({
        //    initialValues: ['array', 'of', 'values'],
           source: function (request, response) {
               if (!request.term.length) {
                   response(_self.options.initialValues);
               } else {
                   if (typeof _self.options.source === "function") {
                       _self.options.source(request, response);
                   } else if (typeof _self.options.source === "string") {

                       $.ajax({
                           url: "/dropdown/GetList",
                           //data: request,
                           dataType: "json"
                           //success: function (data, status) {
                             //  response(data);
                           //},
                           //error: function () {
                            //   response([]);
                          // }
                       });



                   }
               }
           }

        });
        $("#toggle").click(function () {
          //  $("#combobox").toggle();
        });
    });


**Function in Controller**
[HttpGet]
        public JsonResult GetList()
        {
            try
            {
                Employee objName = new Employee();
                objName.Name = "Test";
                List<Employee> objectList = new List<Employee>();
                objectList.Add(objName);
                return Json(new { Records = objectList, TotalRecordCount = 1 });
            }
            catch (Exception ex)
            {
                return Json(new { Result = "ERROR", Message = ex.Message });
            }
        }

サーバー側関数にブレークポイントを設定しましたが、そこに到達しません。私は本当にあなたの助けに感謝します!

ありがとう、V

4

2 に答える 2

0

あなたのURLについて。これがうまくdropdown/GetListいくはずです。

また、この記事を読んでください。

これが私が思いつくことができる簡単な例です、

コントローラコード

public ActionResult Test()
{
    string test = "Hello World";
    return Json(test, JsonRequestBehavior.AllowGet);
}

WebAPIコード

public string Test()
{
    string test = "Hello World";
    return test;
}

Jqueryコード

<script type="text/javascript" src="../../Scripts/jquery-1.7.1.min.js"></script>
<script type="text/javascript">
    $(document).ready(function () {
        $.ajax({
            url: "Home/Test",
            dataType: "json",
            success: function (result) {
                console.log(result);
            }
        });
    });
</script>
于 2012-12-15T12:37:21.250 に答える
0

以下の方法でドロップダウン/コンボボックスにデータをロードしていました。指定した URL が正しいことを確認してください。「Controller」の URL で指定した ActionResult を呼び出し、ActionResult で Json を返し、データをロードします。

脚本

  <script type="text/javascript">
    var dropDownOptions = null;
    function GetdropDownData(sender, args) {
        $.ajax({
            type: "POST",
            url: "Home/GetCountries",
            dataType: "json",
            success: function (data) {
                dropDownOptions = data;

            }
        });
    }

  </script>

コントローラ

 public ActionResult GetCountries()
    {
        return Json(CountryList, JsonRequestBehavior.AllowGet);

    }


public IEnumerable<SelectListItem> CountryList
    {
        get
        {
            // load data here
            return type;
        }
    }
于 2012-12-17T05:46:07.027 に答える