我正在使用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):
感谢您的帮助。
答案 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