【发布时间】:2017-06-20 10:58:51
【问题描述】:
我花了好几个小时试图解决这个问题,但没有运气!!!
所以我有一个 MVC 项目,它提供 Web API(注意:单独的项目,内部托管)返回 json。
示例:
网址:http://api.domain.co.uk/api/locations/sitesdropdown
控制器
// GET api/Locations/Sitesdropdown
[System.Web.Mvc.HttpGet]
[System.Web.Http.HttpGet]
public JsonResult Sitesdropdowntest()
{
var sites = _context.v_dim_HMLocations.Select(l => new
{
SiteName = l.site
})
.Distinct();
return new JsonResult
{
Data = sites,
JsonRequestBehavior = JsonRequestBehavior.AllowGet
};
}
数据返回 更新:1. 移除合成键,2. 更改返回后的方法:
{
"ContentEncoding": null,
"ContentType": null,
"Data": [
{
"SiteName": "Colworth"
},
{
"SiteName": "Donaldsons"
},
{
"SiteName": "Heathlands"
},
{
"SiteName": "HHP Portugal"
},
{
"SiteName": "Leythorne"
},
{
"SiteName": "Propagation"
},
{
"SiteName": "Sheeplands"
},
{
"SiteName": "Tuesley"
}
],
"JsonRequestBehavior": 0,
"MaxJsonLength": null,
"RecursionLimit": null
}
Javascript:
jQuery("#site").kendoComboBox({
autoBind: true,
placeholder: "Select Site...",
dataTextField: "SiteName",
dataValueField: "SiteName",
dataSource: {
transport: {
read: {
url: "http://api.domain.co.uk/api/locations/sitesdropdowntest",
type: "jsonp"
}
},
schema: {
data: "Data"
},
serverFiltering: true
}
});
相关 HTML
<div class="form-group">
<label class="control-label col-md-2" for="SiteId">Site</label>
<div class="col-md-10">
<input id="site" />
</div>
</div>
该按钮作为 Kendo UI 控件呈现得非常好 - 它似乎没有任何数据从数据源进入它。
非常感谢您对此的任何帮助!
谢谢,
【问题讨论】:
标签: javascript c# json kendo-ui kendo-asp.net-mvc