使用OData的RadGrid返回数据但不显示它

时间:2016-10-18 18:08:24

标签: telerik odata radgrid

我正在使用RadGrid到DataBind到OData源。 Fiddler表明,当加载页面时,会调用我的OData源,并以JSON格式返回数据。 RadGrid为每列创建标题,但不会显示任何数据。我的代码看起来与我在网上找到的完全一样,但似乎没有什么对我有用。有没有人对我做错了什么有任何想法?

这是RadGrid的标记:

            <telerik:RadGrid ID="RadGrid1" runat="server">

                <MasterTableView>
                    <Columns>
                        <telerik:GridBoundColumn DataField="Id" HeaderText="Id" />
                        <telerik:GridBoundColumn DataField="BuildingId" HeaderText="Building" />
                        <telerik:GridBoundColumn DataField="Name" HeaderText="Title" />
                        <telerik:GridBoundColumn DataField="Capacity" HeaderText="Capacity" />
                        <telerik:GridBoundColumn DataField="IsActive" HeaderText="Active" />
                    </Columns>
                </MasterTableView>

                <ClientSettings>
                    <DataBinding Location="http://localhost:49937/" ResponseType="JSON">
                        <DataService TableName="Locations" Type="OData" />
                    </DataBinding>
                </ClientSettings>

            </telerik:RadGrid>

这是正在返回的数据的截图(通过Fiddler):

enter image description here

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

我的猜测是您需要将ResponseType JSON 更改为 JSONP 。原因是JSON或从javascript启动的任何其他http请求受同一原始策略的限制。但RadGrid允许您使用JSONP对支持JSONP数据响应格式的服务进行远程调用。

您可以参考这篇文章了解更多详情

http://www.telerik.com/blogs/radgrid-for-asp-net-ajax-client-side-databinding-to-odata-services