我是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;
}
答案 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