找回密码
 立即注册

QQ登录

只需一步,快速开始

icy_fang

注册会员

1

主题

7

帖子

99

积分

注册会员

积分
99
最新发帖
icy_fang
注册会员   /  发表于:2017-7-20 13:39  /   查看:5833  /  回复:14
本帖最后由 icy_fang 于 2017-7-20 17:15 编辑

问题上午发到ASP.NET 求助中心去了,刚找到此版本,也许发到这里更适合。所以重新发送一遍,若有打扰请见谅。
参考例子       :http://demo.gcpowertools.com.cn/spreadjs/views/#/demos/BatchEdit
本地运行环境:Windows7 32-bit, IE Version:11.0.9600
本地代码使用JS版本与例子不同:
本地:
<script src="~/Content/js/gc.spread.common.10.1.1.min.js" type="text/javascript"></script>
<script src="~/Content/js/gc.spread.views.dataview.10.1.1.min.js" type="text/javascript"></script>
<script src="~/Content/js/plugins/gc.spread.views.gridlayout.10.1.1.min.js" type="text/javascript"></script>
<script src="~/Content/js/plugins/gc.spread.views.paging.10.1.1.min.js" type="text/javascript"></script>
参考例子使用版本是: 10.0.0
问题现象:当点击"保存改变"按钮,IE弹出错误如下,见图1:0x800a01b6 - JavaScript runtime error: Object doesn't support property or method 'ajaxBatch'
If there is a handler for this exception, the program may be safely continued.




请帮忙分析下问题出现的大致原因,谢谢。
=> 此问题已解决,原因:页面框架中的js脚本影响,暂时先独立运行页面,不再报告错误。

2017.07.20 PM 5:00 追问:
示例代码中,/api/records/的后台代码是如何接收data的?后台的代码可以共享下么?

14 个回复

正序浏览
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-7-27 15:20:33
15#
icy_fang 发表于 2017-7-27 14:32
非常感谢这几天您的支持和耐心解答,问题已解决。

解决方案:没有使用'ajaxBatch',组装需要进行creat ...

感谢您的评价, 很高兴能帮到您,有什么问题欢迎另开新帖进行询问。
回复 使用道具 举报
icy_fang
注册会员   /  发表于:2017-7-27 14:32:25
14#
ClarkPan 发表于 2017-7-26 18:37
您好,您的demo中并没有对batch request进行支持,您可以参考
https://blogs.msdn.microsoft.com/webdev/2 ...

非常感谢这几天您的支持和耐心解答,问题已解决。

解决方案:没有使用'ajaxBatch',组装需要进行create,update,delete处理的数据,以JSON字符串的形式,
采用普通的AJAX方式传递数据,再进行后台处理。

再次表示感谢,谢谢!
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-7-26 18:37:16
13#
您好,您的demo中并没有对batch request进行支持,您可以参考
https://blogs.msdn.microsoft.com ... -and-web-api-odata/
文档,进行支持batch request
另外,batch request只是列举的一种传递方式而已,您完全可以使用普通的ajax进行数据的传递。

评分

参与人数 1满意度 +5 收起 理由
icy_fang + 5 每次回复都很耐心、专业,在他/她的技术支.

查看全部评分

回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-7-24 18:50:12
12#
icy_fang 发表于 2017-7-24 17:12
非常感谢,请见附件。

您好,您的demo已收到,正在进行处理预计明天会有结果。
回复 使用道具 举报
icy_fang
注册会员   /  发表于:2017-7-24 17:12:22
11#
ClarkPan 发表于 2017-7-24 16:31
您好,您能否提供一下您完整的solution,这样我们也能够尽快定位问题。

非常感谢,请见附件。
MvcApplication1.zip (9.73 MB, 下载次数: 72)
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-7-24 16:31:58
10#
icy_fang 发表于 2017-7-24 15:24
1、关于您的回复
您先定位ajax中能否收到传至,然后在看发出去的请求,
=> 下图是在batchjs.js文件中抓 ...

您好,您能否提供一下您完整的solution,这样我们也能够尽快定位问题。
回复 使用道具 举报
icy_fang
注册会员   /  发表于:2017-7-24 15:24:10
9#
ClarkPan 发表于 2017-7-21 17:12
您好,上图是demo中的方法,这个buildRequests就是创建了一个result数组,然后将至push到了数组中,就是 ...

1、关于您的回复
您先定位ajax中能否收到传至,然后在看发出去的请求,
=> 下图是在batchjs.js文件中抓取的数据,是否表示ajax已经接收到了传值呢。(图1)

图1

图1

如果这些都没问题,那就要看您后端的代码逻辑了。
=> 我的问题就是“后端代码接收不到值”,请您再看下5#的回复,后端代码还没有任何处理逻辑的。

这个因为不知道您项目的具体怎么使用所以只能您按照我们说的进行确认了gc.spread.*.10.0.0.js这只是一个实例,因为demo中不确定用户用的是哪个版本,所以统一用0这个泛指所有版本都能使用。
=> 那版本的原因就可以排除了,谢谢。


2、一点疑问:
方法buildRequests中的ajax, 对url的赋值,通过验证,其实是无效的。请参考对比图。

图3

图3

图4

图4



3、一点请求
是否可以请您验证下demo中后端“成功的接收到数据”了。

PS:附代码,标注*************** Changed ****************的部分做过修改。
Demo_Srouce.zip (6.58 KB, 下载次数: 149)
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-7-21 17:12:12
8#
本帖最后由 ClarkPan 于 2017-7-21 17:15 编辑

image.png987371215.png
您好,上图是demo中的方法,这个buildRequests就是创建了一个result数组,然后将至push到了数组中,就是创建了一个容器去存储至,后面使用还是通过ajax去处理的。如下图
image.png547267150.png
您先定位ajax中能否收到传至,然后在看发出去的请求,如果这些都没问题,那就要看您后端的代码逻辑了。这个因为不知道您项目的具体怎么使用所以只能您按照我们说的进行确认了gc.spread.*.10.0.0.js这只是一个实例,因为demo中不确定用户用的是哪个版本,所以统一用0这个泛指所有版本都能使用。
回复 使用道具 举报
icy_fang
注册会员   /  发表于:2017-7-21 16:46:48
7#
ClarkPan 发表于 2017-7-21 16:03
您好,spread.views是纯前端的控件,跟后端没有直接关系,传递也是通过您自选的方式(比如ajax传递)来完 ...

感谢您的回复。
问题中参考的例子来自于官网(不太确定是否官网?)如下地址:http://demo.gcpowertools.com.cn/spreadjs/views/#/demos/BatchEdit
并未做关键性或者影响实现的改变,所以能否请求您在示例中的后台代码中捕捉下data值,是否正确被传递。
因为当下我无法定位问题出现在哪里了,请帮忙,谢谢。
另外,是否gc.spread.*.10.1.1.js版本会引出此问题呢?或者是否可以提供gc.spread.*.10.0.0.js的下载地址,以保证本地测试与示例中使用JS版本一致,不好意思,我在论坛中没有找到。
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部