c# extjs datagridview

 

第一篇博客,主要记录下来方便自己查找。以前习惯将遇到的问题整理成文档,但是后来有些文档没有整理好(由于文件命名等原因),就不知道跑到哪里去了,找起来比较费时。所以决定写博客记录来记录。

今天下定决心把我们所的一个项目调通,项目是C# Web Service+ExtJS3.0写的,数据库是SQL2008R2,开发平台是VS2010。以前陆陆续续将整个前台代码理了一下,后台代码也大概看了一下。遇到数据交互的时候没有深入研究,一直出现出现了下面的问题:

今天花了一上午来跟踪代码,发现后台的数据已经成功从数据库中取出来,存放在dataTable里面,然后将它转换为JSON格式的字符串传到前台,但是前台在展示数据的时候是用的ExtJS3.0的DataGridView扩展控件,一直提示DataGrid is undefined。

View Code
1 var EventDataGridViewObj = new CQCCRI.DataGridView();
2 省略部分与本题无关代码.....
3 
4 EventDataGridViewObj.Create();    //该函数是初始化该控件
5 EventDataGridViewObj.DataGrid.on('click', function (e) 

对这个问题,读完了整个控件源码,发现不应该出现这个问题啊,又尝试了firebug和ie9的调试,打上断点,发现单步调试不得行,只好作罢,在同事的指导下,原来才发现.NET的版本不对,现在我的代码是.NET4.0,这个项目应该用.NET2.0,好吧,我二了。不过也是有收获的,至少看了DataGridview的源码。
接下来将项目转换成NET2.0之后,问题出来了。firefox下出现错误截图:

 

解决方法如下:参考了第一篇帖子:http://www.cnblogs.com/ahui/archive/2012/01/04/2312075.html,在<system.web>添加子节点   

View Code
1     <httpModules>
2       <add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
3     </httpModules>

然后,问题依旧,再参考了第二篇帖子:http://blog.csdn.net/jozosoft/article/details/6949165,在<system.web>添加子节点 

View Code
1 <httpHandlers>
2       <remove verb="*" path="*.asmx"/>
3       <add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
4       <add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="false"/>
5     </httpHandlers>

OK,问题解决。

posted on 2013-01-29 17:15  小伙315  阅读(229)  评论(0编辑  收藏  举报

导航