Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/324.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在asp.net中使用api控制器填充kendogrid_C#_Asp.net_Kendo Ui - Fatal编程技术网

C# 在asp.net中使用api控制器填充kendogrid

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

我使用从剑道网格,但我的网格不填充值,当显示页面网格不加载。 我使用剑道2014和asp.net 2012。 我的api控制器代码:

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请求?