绑定kendo网格与Azure上托管的web api的问题

时间:2014-07-22 07:20:58

标签: azure asp.net-web-api kendo-ui kendo-grid

我正在努力将kendo网格绑定到Web API。 Web API托管在Azure辅助角色中(尚未发布)。并且Web API被装饰以便与跨域一起工作,即为Web API启用CORS。

让我们看看我写的代码。

Web API中的操作方法如下所示。

public JToken Get()
{
    JToken json = JObject.Parse(
      "{ \"firstName\": \"John\",
         \"lastName\": \"Smith\",
         \"isAlive\": true,
         \"age\": 25, 
         \"height_cm\": 167.6, 
         \"address\":
         {      
             \"streetAddress\": \"21 2nd Street\",
             \"city\": \"New York\",
             \"state\": \"NY\",
             \"postalCode\": \"10021-3100\"    
         }, 
         \"phoneNumbers\": 
         [{ 
             \"type\": \"home\", 
             \"number\": \"212 555-1234\"
         },        
         { 
             \"type\": \"office\",  
             \"number\": \"646 555-4567\" 
         }]
       }"
    );
    return json;
}

当我执行此web api时,我们将获得IP地址为“127.0.0.1”的模拟器,并使用控制器"TestController"

当我在浏览器中执行上面的api时,我完全得到了JSON数据,但是当我使用相同的方法来绑定网格时,一切都是徒劳的。

用于绑定数据的代码是

$("#dw_report_container1").kendoGrid({
    dataSource: {
        type: "json",
        transport: {
            read: {
                url: "http://127.0.0.1/test",
                dataType: "json"
            }
        },
    },
    height: 500,
    scrollable: true,
    selectable: true
});

我也不例外。

1 个答案:

答案 0 :(得分:0)

最后,经过长时间的努力,我得到了解决方案:(。我在使用kendo网格时发现了一个奇怪的事情。每当我们使用项目中的模型并将模型返回到kendogrid的数据源时,它就会在内部为它创建一个模型。当我使用上面的示例json时,它(kendogrid)不会创建网格绑定的模型。因此问题就出现了。最后,我得出结论,最好有一个模式/数据源中的模型(剑道网格)。过去我没有:(谢谢。