Ext4 未找到Model.js
- JScript code
<script language="javascript" type="text/javascript" src="@Url.Content("~/Scripts/ext-all.js")"></script> <link type="text/css" rel="Stylesheet" href="@Url.Content("~/Content/ext-all.css")" /> <script type="text/javascript"> Ext.Loader.setConfig({ enabled: true }); Ext.require([ 'Ext.grid.*', 'Ext.data.*', 'Ext.util.*', 'Ext.state.*', 'Ext.form.Panel' ]); Ext.onReady(function () { var isAdd = true; //默认是添加 Ext.define('NewContent', { extend: 'Ext.data.Mode', fields: [ 'NewsCategoryID', 'PublicDate', 'NewsMainTitle', 'NewsSubTitle', 'NewsSummary', 'NewsListImage', 'NewsContent', 'IsFocusNews', 'FocusNewsImage', 'IsAllowComment', 'IsPublicToMobileClient', 'NewsStatus', 'CreateDatetime' ] }); var NewContentStore = Ext.create('Ext.data.Store', { model: 'NewContent', proxy: { type: 'ajax', url: '@Url.Action("GetNewsContentList", "NewsContent")', reader: { type: 'json', root: "rows" } }, autoLoad: true }); var grid = Ext.create('Ext.grid.Panel', { store: NewContentStore, id: 'grid', layout: 'fit', columns: [ { header: 'ID', dataIndex: 'NewsCategoryID' }, { header: 'PublicDate', dataIndex: 'PublicDate', align: 'center' }, { header: 'NewsMainTitle', dataIndex: 'NewsMainTitle' }, { header: 'NewsSubTitle', dataIndex: 'NewsSubTitle', align: 'center' }, { header: 'NewsSummary', dataIndex: 'NewsSummary' }, { header: 'NewsListImage', dataIndex: 'NewsListImage', align: 'center' }, { header: 'NewsContent', dataIndex: 'NewsContent' }, { header: 'IsFocusNews', dataIndex: 'IsFocusNews', align: 'center' }, { header: 'FocusNewsImage', dataIndex: 'FocusNewsImage' }, { header: 'IsAllowComment', dataIndex: 'IsAllowComment', align: 'center' }, { header: 'IsPublicToMobileClient', dataIndex: 'IsPublicToMobileClient' }, { header: 'NewsStatus', dataIndex: 'NewsStatus', align: 'center' }, { header: 'CreateDatetime', dataIndex: 'CreateDatetime', align: 'center' } ], selModel: new Ext.create('Ext.selection.CheckboxModel'), viewConfig: { forceFit: true }, tbar: [ { text: 'new', handler: function () { isAdd = true; winForm.show(); } } , { text: 'Delete', handler: function () { } }, { text: 'Update', handler: function () { } } ] }); var NewsCateTabWin = Ext.widget('form', { items: [grid], renderTo: Ext.getBody() }); }); </script>
报错:Uncaught Error: Ext.Loader is not enabled, so dependencies cannot be resolved dynamically. Missing required class: Ext.data.Mode
当我把这句 Ext.Loader.setConfig({ enabled: true }); 加上
报Failed to load resource: the server responded with a status of 404 (Not Found) http://localhost:2134/data/Mode.js?_dc=1351584112203和Uncaught TypeError: Object #<Object> has no method 'read'
不知是不是缺少 Ext.Loader.setPath('Ext.ux', '@Url.Content("~/Scripts/Ext/ux")'); 这样的设置,如果是的话,@Url.Content("~/Scripts/Ext/ux")这个目录里面应该放那些文件
[解决办法]
Ext.data下面没有Mode,是Model。。。
- JScript code
Ext.define('NewContent', { //extend: 'Ext.data.Mode', extend: 'Ext.data.Model', fields: [ 'NewsCategoryID', 'PublicDate', 'NewsMainTitle', 'NewsSubTitle', 'NewsSummary', 'NewsListImage', 'NewsContent', 'IsFocusNews', 'FocusNewsImage', 'IsAllowComment', 'IsPublicToMobileClient', 'NewsStatus', 'CreateDatetime' ] });
[解决办法]
ux文件夹一般放的是自定义的插件,如果Ext.require需要到ux文件夹下的控件,需要设置ux路径
- JScript code
Ext.Loader.setConfig({ enabled: true }); Ext.Loader.setPath('Ext.ux', '../ux');