页面加载后ajax不会触发

时间:2017-10-05 07:32:06

标签: c# ajax asp.net-mvc

我是MVC中的新手,我想在页面加载时绑定我的下拉列表,因为我想向我的控制器发送一个标志,将我想要的列表发送给我的下拉列表,但问题是什么时候页面加载,它不发送标志,直接进入控制器

我的观点:

  $(document).ready(function () {
          var flg_parkList = "s";

          debugger;

          $.ajax({

              dataType: "json",
              type: "POST",
              url: "@Url.Action("parkList","Ranking")",
              contentType: "application/json; charset=utf-8",
              data: JSON.stringify({ "flg": flg_parkList }),
              success: function (data) {
                  debugger;


              }

          });
          $('#drplist')
          .appendTo(container)
          .kendoDropDownList({
              dataSource: data,
              dataTextField: "Text",
              dataValueField: "Text",
              valuePrimitive: true,

          });

      });

我的控制器:

 public JsonResult parkList(string flg)
    {
        string useID = HttpContext.User.Identity.Name;
        if (flg == "s")
        {

            var listOfParks = (from s in DB.MasterDatas
                               join m in DB.UsersTurbines
                               on s.turbine_id equals m.tur_id
                               where m.user_id == useID
                               select new SelectListItem
                               {
                                   Text = s.turbine_windpark_name
                               }).ToList().Distinct();

            return Json(listOfParks, JsonRequestBehavior.AllowGet);
        }
        else
            return null;

    }

1 个答案:

答案 0 :(得分:0)

我认为你不需要ajax。看看这段代码

http://www.compilemode.com/2016/01/bind-dropdownlist-using-viewbag-in-asp-net-mvc.html

您可以使用ViewBag解决问题。但是如果你想使用ajax,你可以在google ==>上进行搜索。 "如何在Asp.net MVC中使用ajax填充下拉列表"。有很多例子可供使用:D有一个很好的编码,快乐的编程:D