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 正确。它将调用您在“控制器”的 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 回答
0

关于你的网址。试试dropdown/GetList这个应该可以。

也请阅读这篇文章

这是我可以想出的一个简单的例子,

控制器代码

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

网页 API 代码

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 回答