jQuery MiniUI

标题: 事务要怎么支持,json对象要怎么传递? [打印本页]

作者: webyao    时间: 2014-2-19 11:09:40     标题: 事务要怎么支持,json对象要怎么传递?

需要用到事务来完成多个表的存储,可不知道json对象要怎么传递?
作者: factory    时间: 2014-2-19 12:32:04

前台把你的数据 mini.encode(data)成json字符串,通过jquery ajax发送到后台,后台request获取到之后,执行decode()把json字符串转成你原来的数据

http://www.miniui.com/demo/#src=datagrid/celledit.html
看这个例子,下载的miniui试用包里有后台
作者: webyao    时间: 2014-2-19 14:20:17

factory 发表于 2014-2-19 12:32
前台把你的数据 mini.encode(data)成json字符串,通过jquery ajax发送到后台,后台request获取到之后,执行dec ...

好的,那我照这样试试,谢谢!~~
作者: webyao    时间: 2014-2-20 09:34:53

webyao 发表于 2014-2-19 14:20
好的,那我照这样试试,谢谢!~~

在前台提交的数据是这种形式
$.ajax({
                url: "../AjaxService.aspx?method=SaveEmployees",
                type: 'post',
                data: { data: json,data2: json2 },
                cache: false,
                success: function (text) {
                    alert("提交成功,返回结果:" + text);
                    
                },
                error: function (jqXHR, textStatus, errorThrown) {
                    alert(jqXHR.responseText);
                    CloseWindow();
                }
            });
在后台要如何取到data2的数据呢?(data2的数据是从treegrid中获取的)
String json = Request["data"];
        String json1 = Request["data.data2"];
        if (String.IsNullOrEmpty(json1)) return;
我先前这样取数据,取不到!请问要如何做呢?

作者: factory    时间: 2014-2-20 09:54:20

webyao 发表于 2014-2-20 09:34
在前台提交的数据是这种形式
$.ajax({
                url: "../AjaxService.aspx?method=SaveEmployees ...

request["data2"]
作者: webyao    时间: 2014-2-20 12:46:42

本帖最后由 webyao 于 2014-2-20 12:47 编辑
factory 发表于 2014-2-20 09:54
request["data2"]


[attach]3938[/attach]

用request["data2"]出现了上面的提示
在提交之前我用alert(json2)里面是有数据的。


作者: factory    时间: 2014-2-20 13:15:00

webyao 发表于 2014-2-20 12:46
用request["data2"]出现了上面的提示
在提交之前我用alert(json2)里面是有数据的。

你仔细看看jquery ajax是如何交互的,看我们demo也行

数据必须是encode之后的字符串
作者: webyao    时间: 2014-2-20 13:26:46

factory 发表于 2014-2-20 13:15
你仔细看看jquery ajax是如何交互的,看我们demo也行

数据必须是encode之后的字符串 ...

提交的数据没有问题,是读出来的时候有问题,读DATA也没有问题,可读DATA2的时候就出问题了。
String json = Request["data"];
String json1 = Request["data2"];
不好调试,我用HttpWatch检查了一下,里面也有数据的。
原因可能是因为我的data2数据是treegrid中tree.getValue();获取的值吗?实在搞不懂了?
作者: factory    时间: 2014-2-20 13:32:45

webyao 发表于 2014-2-20 13:26
提交的数据没有问题,是读出来的时候有问题,读DATA也没有问题,可读DATA2的时候就出问题了。
String jso ...

1.要传的数据必须是字符串,数组,对象这类复杂数据,mini.encode()成json字符串之后再传
2. 多数据传送
data:{data1:string1,data2:string2}
后台request["data1"]和data2
作者: webyao    时间: 2014-2-20 13:36:32

本帖最后由 webyao 于 2014-2-20 13:38 编辑
factory 发表于 2014-2-20 13:32
1.要传的数据必须是字符串,数组,对象这类复杂数据,mini.encode()成json字符串之后再传
2. 多数据传送
dat ...


嗯,刚才我试了,但我现在要如何才能把treegrid中tree.getValue();获取的值系列化成数组呢
就是treegrid选中那条记录的所有值,要如何获得?

作者: felt    时间: 2014-2-20 14:28:29

webyao 发表于 2014-2-20 13:36
嗯,刚才我试了,但我现在要如何才能把treegrid中tree.getValue();获取的值系列化成数组呢
就是treegrid ...

var value=tree.getValue();
var data2=mini.encode(value);
这样试试可以吗?
作者: webyao    时间: 2014-2-20 15:20:50

felt 发表于 2014-2-20 14:28
var value=tree.getValue();
var data2=mini.encode(value);
这样试试可以吗?

用tree.getCheckedNodes()就可以了,但又有一个新的问题,传过去以后在后台,我只想要所对应的ID字段,并且要像tree.getValue();获取到的那样是一个字符串!
在后台要如何循环才能把tree.getCheckedNodes()带过去的数组中的ID字段组成一个新的字符串呢?
作者: webyao    时间: 2014-2-20 16:04:40

webyao 发表于 2014-2-20 15:20
用tree.getCheckedNodes()就可以了,但又有一个新的问题,传过去以后在后台,我只想要所对应的ID字段,并 ...

如果要data和data2在后台一起读出来作为一个整体,要怎么实现呢?
作者: felt    时间: 2014-2-20 16:27:06

webyao 发表于 2014-2-20 15:20
用tree.getCheckedNodes()就可以了,但又有一个新的问题,传过去以后在后台,我只想要所对应的ID字段,并 ...

tree.getCheckedNodes()的数据你后台接收到后再decode成数组,遍历数组获取id字段,再拼接就可以了
如果你要data和data2后台一起读出来,那你前台要把2个数据作为一个参数发送到后台,这要你自己拼接了
作者: webyao    时间: 2014-2-20 16:31:14

felt 发表于 2014-2-20 16:27
tree.getCheckedNodes()的数据你后台接收到后再decode成数组,遍历数组获取id字段,再拼接就可以了
如果 ...

关于事务,要怎么执行呢,因为一次保存要存入多张表,想用事务来实现,可执行事务的方法,示例里面没有这点比较急人啊!!!
作者: factory    时间: 2014-2-20 17:07:29

webyao 发表于 2014-2-20 16:31
关于事务,要怎么执行呢,因为一次保存要存入多张表,想用事务来实现,可执行事务的方法,示例里面没有这 ...

你后台都已经获取到数据,后台该怎么处理就怎么处理啊. 这有什么疑问的呢?
miniui只是前端JS控件,后台的业务是你们自己决定的

作者: factory    时间: 2014-2-20 17:11:47

webyao 发表于 2014-2-20 16:31
关于事务,要怎么执行呢,因为一次保存要存入多张表,想用事务来实现,可执行事务的方法,示例里面没有这 ...

另外,你如果对ajax还有疑问的话,我建议你可以去网上搜下对于jquery的ajax的一些简单示例.
方法我已经告诉你了,很简单的几部
1.json序列化, var json = mini.encode(data)
2,ajax请求发送到后台 data:{key:json,key2:json2}
3.后台request到数据   string json = request["key"] request["key2"]
4.反序列化成你数据原来的格式   ArrayList(Hashtable) data = (ArrayList)||(Hashtable)Test.JSON.Decode(json)
5.对数据做你该做的处理
作者: webyao    时间: 2014-2-20 17:22:37

factory 发表于 2014-2-20 17:11
另外,你如果对ajax还有疑问的话,我建议你可以去网上搜下对于jquery的ajax的一些简单示例.
方法我已经告 ...

好的,谢谢!




欢迎光临 jQuery MiniUI (http://miniui.com/discuss/) Powered by Discuz! X2