求助:js数组赋值给asp.net后台的数组!!!!!! 我前台js有个复杂的数组,装的是object。我需要把这个数组赋值给后台。每个object的每个属性都要赋值。网上说用字符串拼接我想这样会不会太长了。有没有其他的方法。如图: 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 如果说这些数据是插入到数据库里面的话,我觉得可以把它拼成XML格式的字符,在数据库解析插入! 传字符串到后台 "a,b,c,d";后台 "a,b,c,d".Split(',') 还是字符串提交到后台吧<input type="text" id="txt" size="99999" /> <input type="button" onclick="aaa()" /> <script> function aaa(){ var a=new Array([['Sony','a0'], ['Samsumg','a1'], ['LG','a2'], ['Vizio','a3'], ['Insignia', 'a4']],[['Sony','b0'], ['Samsumg','b1'], ['LG',21], ['Vizio','b2'], ['Insignia', 'b3']]); var bt=','+a.toString()+','; document.getElementById('txt').value= bt.replace(/,Sony,/g,',').replace(/,Samsumg,/g,',').replace(/,LG,/g,',').replace(/,Vizio,/g,',').replace(/,Insignia,/g,','); } </script> 我这个前台的数组比较复杂,每个索引里都是一个object,每个object都有8个属性。那拼接字符串也太复杂了吧 拼接长点用post方式提交就可以拼接也不是很复杂啊var datas = '[';for(var i=0; i< arr.length; i++){ datas += '{'; foreach(var field in arr[i]) datas += '"' + field + '":"' + encodeURIComponent(arr[i].getAttribute(field)) + '",'; datas += datas.substr(0, datas.length - 1) + '}';}datas += "]"; 我是菜鸟今天才知道有json还在了解中。。 那个encodeURIComponent我看了看,不太懂啊,是提高安全性?按你这样转成的字符串在后台是用JavaScriptSerializer去反序列化就可以了吧 那个提高不了安全性,只是为了更可靠的拼接出json字符串,也可以将用replace('"','\"')转义实际上值类型的,如float,boolean,int,date等都不应该带引号,并且date类型应该转换成utc格式 JavaScriptSerializer需要一个相匹配的类型才能反序列化你可以用第三方的Newtonsoft.Json.dll或者Json.nethttp://www.cnblogs.com/sbxwylt/archive/2008/12/31/1366199.html 意思就是我要将json反序列化成我自己的一个类对象,就比较麻烦了?搞完就结分了。 同一个页面有多个按钮和多个文本框,如何控制敲回车时提交哪一个按钮 各位大侠帮帮菜鸟 sql根据时间查询 单点登陆,多子域名共享问题? 解决了另外再给150分 郁闷死了,我快疯掉了,帮忙 这个概念我到那去找啊? 小问题 我也做了一个域名查询+邮件回复的小网页。。。。大家帮我测试一下。。 关于IDataParameter接口的问题 求字符串处理算法 关于ReportViewer控件打印的问题!!!! 对于一个Java接口返回值Map,在.NET中应该有什么类型来接收?
后台 "a,b,c,d".Split(',')
<input type="text" id="txt" size="99999" />
<input type="button" onclick="aaa()" />
<script>
function aaa(){
var a=new Array([['Sony','a0'], ['Samsumg','a1'], ['LG','a2'], ['Vizio','a3'], ['Insignia', 'a4']],[['Sony','b0'], ['Samsumg','b1'], ['LG',21], ['Vizio','b2'], ['Insignia', 'b3']]);
var bt=','+a.toString()+',';
document.getElementById('txt').value= bt.replace(/,Sony,/g,',').replace(/,Samsumg,/g,',').replace(/,LG,/g,',').replace(/,Vizio,/g,',').replace(/,Insignia,/g,',');
}
</script>
拼接也不是很复杂啊
var datas = '[';
for(var i=0; i< arr.length; i++){
datas += '{';
foreach(var field in arr[i])
datas += '"' + field + '":"' + encodeURIComponent(arr[i].getAttribute(field)) + '",';
datas += datas.substr(0, datas.length - 1) + '}';
}
datas += "]";
实际上值类型的,如float,boolean,int,date等都不应该带引号,并且date类型应该转换成utc格式
你可以用第三方的Newtonsoft.Json.dll或者Json.net
http://www.cnblogs.com/sbxwylt/archive/2008/12/31/1366199.html