ASP.Net下使用ExtJS报“Ext未定义”错误的原因
新项目,客户要求界面要“炫”。经过简单对比,打算尝试在ASP.Net下引用ExtJS3.4来满足用户需求。
根据项目需要,第一个实例,选择了在ASP.Net下显示树形列表(TreeGrid)。其实就是把ExtJs官网上的TreeGride的例子,由静态页面,改为动态页面实现。
复制代码后,运行,发现TreeGrid的框架显示正常,但不显示数据。遂按照extjs压缩包中的web.config的内容,修改了我的工程里的web.config。然后,悲剧来了。
运行代码后,总是报“Ext未定义”的错误。上网搜索解决方法,发现基本上都是两个原因造成了该项错误。
1、要按照固定顺序引用三个文件:
/resouces/css/ext-all.css
/adapter/ext/ext-base.js
/ext-all.js
我是直接复制的官网实例,因此这条原因对我的问题无效。
2、文件路径问题,有人将所有需引用的文件都拷贝到了实例程序所在目录(相当于避免了在程序用使用相对路径引用文件)
我尝试了,问题依旧。而且,即便此方法有效,我也不可能应用。因为我不是做一个实例就ok的。对于整个工程,此方法显然不适合。
建议发现因文件路径问题导致错误的同学,看看你的IIS是否开启了“启用父路径”的选项,如果没有,打开它。
折腾了一个下午,我终于发现产生错误的愚蠢原因。
3、我将extjs压缩包中的web.config文件也复制到了asp.net工程下,程序在执行时,同时读取了两个web.config文件,这才导致了"Ext未定义”错误。
至于具体为什么会报这个错误,目前还不清楚。
希望后面的学习和实践不要再犯类似的错误了。