2017-10-05 265 views
0

即时通讯新的MVC中,我想绑定我的下拉列表,当页面加载,为此,我想发送我的控制器一个标志,以发送回我想要的下拉列表列表中,但问题是,当页面加载时,它不会发送标志,直接进入到控制器ajax在页面加载后不触发

我的观点:

$(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; 

    } 
+2

在ajax调用完成之前(ajax是异步),将下拉列表绑定到'data'。你需要在成功回调中绑定它 –

+0

这个问题还不清楚。你知道你不需要在'data'中'Stringfy'对象吗? '数据'可以愉快地接受一个对象。 – Liam

+0

'$('#drplist')。appendTo(container)'放在'success'回调之外,这就是DDL不绑定的原因。似乎'JSON.stringify'在这里是不必要的...... –

回答

相关问题