2017-10-05 263 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'在這裏是不必要的...... –

回答

相關問題