你好,我是 Sencha Extjs的新手,我试图从我在ASP.NET中创建的API中提取数据。
在开发者工具中,我可以得到数据,但它没有显示在网格中。有人能帮忙吗?
这是我编写的代码。
这是模型
Ext.define('VidlyViews.model.Customers', {
extend: 'VidlyViews.model.Base',
fields: [
'name', 'membershipType', 'isSubscribeToNewsLetter', 'birthDate'
]
});
这是商店。
Ext.define('VidlyViews.store.Customers', {
extend: 'Ext.data.Store',
alias: 'store.customers',
model: 'VidlyViews.model.Customers',
autoLoad: true,
proxy: {
type: 'jsonp',
url: 'https://localhost:44300/api/customers',
reader: {
type: 'json',
rootProperty: 'feed.entry'
}
}
});
此文件位于classic/src/view/main文件夹中
Ext.define('VidlyViews.view.main.Customers', {
extend: 'Ext.grid.Panel',
xtype: 'customerlist',
requires: [
'VidlyViews.store.Customers'
],
title: 'Customers',
store: {
type: 'customers'
},
columns: [
{ text: 'Customer Name', dataIndex: 'name', flex: 1 },
{ text: 'Membership Type', dataIndex: 'membershipType', flex: 1 },
{ text: 'Newsletter', dataIndex: 'isSubscribeToNewsLetter', flex: 1 },
{ text: 'Birthdate', dataIndex: 'birthDate', flex: 1 }
],
listeners: {
select: 'onItemSelected'
}
});
先谢谢你了
1条答案
按热度按时间798qvoo81#
我修复了我的问题,我希望它能在未来帮助其他人。
我将我的代理更改为:
我用rest.rootPropery来提取数据。在API(ASP.NET)中,我将IhhtpActionResult修改为
因为在 Sencha 中,您可以获得分页的开始和限制,并在后端使用.Skip()和.Take()。
它看起来像这样:
我做的最后一步是返回这样的数据:
该数据在rootProperty中被识别为数据集合,并且total是可以在API调用中识别的数据的总计数。
希望能帮上忙,我花了一整天才弄明白哈哈哈