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;
}
在ajax調用完成之前(ajax是異步),將下拉列表綁定到'data'。你需要在成功回調中綁定它 –
這個問題還不清楚。你知道你不需要在'data'中'Stringfy'對象嗎? '數據'可以愉快地接受一個對象。 – Liam
'$('#drplist')。appendTo(container)'放在'success'回調之外,這就是DDL不綁定的原因。似乎'JSON.stringify'在這裏是不必要的...... –