Javascript 用JSON填充DropDownList
--控制器--Javascript 用JSON填充DropDownList,javascript,asp.net,json,asp.net-mvc-5.2,Javascript,Asp.net,Json,Asp.net Mvc 5.2,--控制器-- [WebMethod] 公共行动结果GetSellers() { List sellers=db.sellers.ToList(); 返回Json(sellers,JsonRequestBehavior.AllowGet); } --看法-- @Html.DropDownListFor(x=>x.SellerId,新选择列表(Enumerable.Empty()) --Javascript-- $('#DeptId').change(function(){//DeptId是
[WebMethod]
公共行动结果GetSellers()
{
List sellers=db.sellers.ToList();
返回Json(sellers,JsonRequestBehavior.AllowGet);
}
--看法--
@Html.DropDownListFor(x=>x.SellerId,新选择列表(Enumerable.Empty())
--Javascript--
$('#DeptId').change(function(){//DeptId是我的另一个DropDownList
$.getJSON('/SaleRecords/GetSellers'),null,函数(结果){//My path
var ddl=$('#SellerId');//我的卖家ddl
ddl.empty();
$('Sellers').show();//我的div(它的display:none)
$(结果)。每个(函数(){
ddl.append(
$('', {
value:this.Id
}).html(此.Name)
);
});
};
});
怎么了?我已经在Controller中调试过,sellersList有3个注册表,但它没有出现在我的视图中,有什么问题吗?这可能就是问题所在
$.getJSON('/SaleRecords/GetSellers'), null, function (result) // should throw an error
试一试
$.getJSON('/SaleRecords/GetSellers')
.完成(功能(结果){
var ddl=$('SellerId');
ddl.empty();
$('Sellers').show();
$(结果)。每个(函数(){
ddl.append(
$('', {
value:this.Id
}).html(此.Name)
});
.fail(函数(jqXHR){console.log(jqXHR.responseText)});
刚刚发现错误:我将其添加到我的控制器方法中:
myContext.Configuration.ProxyCreationEnabled = false;
我发帖是为了如果有人有这个问题,有解决方案
<script type="text/javascript">
$('#DeptId').change(function () { // DeptId is my another DropDownList
$.getJSON('/SaleRecords/GetSellers'), null, function (result) { // My path
var ddl = $('#SellerId'); // My seller DDL
ddl.empty();
$('Sellers').show(); // My div (it's display: none)
$(result).each(function () {
ddl.append(
$('<option />', {
value: this.Id
}).html(this.Name)
);
});
};
});
</script>
$.getJSON('/SaleRecords/GetSellers'), null, function (result) // should throw an error
$.getJSON('/SaleRecords/GetSellers')
.done(function(result) {
var ddl = $('#SellerId');
ddl.empty();
$('Sellers').show();
$(result).each(function () {
ddl.append(
$('<option />', {
value: this.Id
}).html(this.Name)
});
.fail(function(jqXHR) {console.log(jqXHR.responseText)});
myContext.Configuration.ProxyCreationEnabled = false;