FineUI 官方论坛

标题: 使用Grid有个严重的错误 [打印本页]

作者: 惊鸿沧海    时间: 2012-3-6 14:04
标题: 使用Grid有个严重的错误
测试环境IE9
使用Grid控件,DataKeyNames="OrganizationID" 时,grid的数据源是一个实体集合,OrganizationID是实体中的一个属性,类型是Guid,这时,控件一直转圈,无法显示出来。

作者: 杜志彬    时间: 2012-3-8 14:09
是不是脚本报错:
A JSONArray must start with '['

这个是个BUG,Grid的DataKeys如果是GUID类型的字段,就会抛出这个异常。我的解决办法是把ExtAspNet源代码中GridRow.cs的第241行由:
DataKeys[j] = GetPropertyValue(keyNames[j]);
改为:
DataKeys[j] = GetPropertyValue(keyNames[j]).ToString();
重新编译后重新引用就可以了。

说实话还是建议作者采用第三方的Json.Net进行Json序列化,简单而且效率上有保证。
作者: 30372245    时间: 2012-3-8 17:56
杜志彬 发表于 2012-3-8 14:09
是不是脚本报错:
A JSONArray must start with '['

好主意。多谢提醒,我下个版本会考虑Json.Net
作者: sanshi    时间: 2012-3-10 18:08
30372245 发表于 2012-3-8 17:56
好主意。多谢提醒,我下个版本会考虑Json.Net

正在替换为Json.Net...
作者: sanshi    时间: 2012-3-10 22:13
杜志彬 发表于 2012-3-8 14:09
是不是脚本报错:
A JSONArray must start with '['

不能简单地设置:
  1. DataKeys[j] = GetPropertyValue(keyNames[j]).ToString();
复制代码
因为不全是字符串,可能为布尔型,数字等其他类型。

作者: ⑥阿太⑥    时间: 2012-3-11 10:31
嘿嘿 我就等着老大的新版本了 相信老大很快就会搞定的
作者: sanshi    时间: 2012-3-11 18:50
⑥阿太⑥ 发表于 2012-3-11 10:31
嘿嘿 我就等着老大的新版本了 相信老大很快就会搞定的

已经搞定。

舍弃了之前用的Nii.JSON类库,改用第三方的JSON类库JSON.NET,ExtAspNet使用的全部是Newtonsoft.Json.Linq命名空间下的方法,非常方便。
Change Set: 74326

由于这次改动比较大,虽然我已经在Firefox进行了测试,但是可能还会有问题,感兴趣的网友可以下载源代码,在IE8, IE9下测试看是否存在问题。

作者: 稻草人    时间: 2012-3-13 08:58
很期待!




欢迎光临 FineUI 官方论坛 (https://www.fineui.com/BBS/) Powered by Discuz! X3.4