C# 在asp.net中使用api控制器填充kendogrid
我使用从剑道网格,但我的网格不填充值,当显示页面网格不加载。 我使用剑道2014和asp.net 2012。 我的api控制器代码:C# 在asp.net中使用api控制器填充kendogrid,c#,asp.net,kendo-ui,C#,Asp.net,Kendo Ui,我使用从剑道网格,但我的网格不填充值,当显示页面网格不加载。 我使用剑道2014和asp.net 2012。 我的api控制器代码: public class ValuesControllerApi : ApiController { public List<File> Get() { GuaranteeEntities ef = new GuaranteeEntities(); var file = ef.Files.Where(c
public class ValuesControllerApi : ApiController
{
public List<File> Get()
{
GuaranteeEntities ef = new GuaranteeEntities();
var file = ef.Files.Where(c => c.UpdaterUserInfo == "Guarantee").ToList();
return file;
}
}
公共类值controllerapi:ApiController
{
公共列表Get()
{
担保额ef=新担保额();
var file=ef.Files.Where(c=>c.updateUserInfo==“保证”).ToList();
返回文件;
}
}
我的html代码是:
<div id="employeesGrid">
<script>
$(function () {
$("#employeesGrid").kendoGrid({
dataSource: new kendo.data.DataSource({
transport: {
read: "/api/ValuesControllerApi"
}
})
});
});
$(function () {
$("#employeesGrid").kendoGrid({
columns: [
{ field: "Name" , title:"test" },
{ field: "Family", title: "test test" }
],
dataSource: new kendo.data.DataSource({
transport: {
read: "/api/ValuesControllerApi"
}
}),
sortable: true
});
});
</script>
</div>
$(函数(){
$(“#雇员网格”)。肯多格({
数据源:新建kendo.data.dataSource({
运输:{
阅读:“/api/ValuesControllerApi”
}
})
});
});
$(函数(){
$(“#雇员网格”)。肯多格({
栏目:[
{字段:“名称”,标题:“测试”},
{字段:“系列”,标题:“测试”}
],
数据源:新建kendo.data.dataSource({
运输:{
阅读:“/api/ValuesControllerApi”
}
}),
可排序:正确
});
});
尝试单独在浏览器中测试API
localhost:12345/api/valuescoontrollerapi
(根据需要更改调试url)
这样行吗?很可能不是。原因是WebApi使用默认模式查找控制器端点。你可以找到
但为了节省时间,请注意以下几行:
为了找到控制器,Web API将“controller”添加到{controller}变量的值中
这意味着,默认情况下,WebApi假定在尝试路由到端点时,所有控制器类都以“controller”结尾。在您的例子中,您将API命名为ValuesControllerApi
,以“API”结尾。从类名中删除“Api”,它应该可以工作
因此,您的类名应该如下所示:valuescoontroller:ApiController
你这样称呼它:
api/Values
我认为你的控制器动作不会给剑道网格它期望的格式的结果。你需要向它发送一个数据源请求。有一个简单的例子,你可以检查
也应该对这个问题有所启发
希望有帮助 您是否在浏览器中尝试了裸api请求?