雪雨星风 发表于 2008-6-24 09:08

页面同时传N个值如何传(在线等高人、超紧急!!!)

刚学asp.net不久   关于页面传值也没少做
但昨天遇到个让我晕了半天没想到合适的方法
问题如下:


在A页面点击一个按钮往B页面传N个字符串并在B页面接收


小弟才疏学浅  请高人指教   小弟感之不尽[em03] [em03] [em03] [em03] [em03] [em03]

注:所传字符串不等长  没规律

andey 发表于 2008-6-24 09:59

1和N有什么区别?

雪雨星风 发表于 2008-6-24 10:40

在A页面中通过  checkbox选取N个选项  点击一个按钮  把checkbox相对应的值传到B页面    然后添加到listbox中待用

雪雨星风 发表于 2008-6-24 11:04

想到方法了  用split截取 然后用循环输出
string s="abcdeabcdeabcde";
string[] sArray=s.Split('c');
foreach(string i in sArray)
Console.WriteLine(i.ToString());
输出下面的结果:
ab
deab
deab
de

tomtory 发表于 2008-6-24 11:05

可以就用地址传的啊 你可以写成不同参数传过去  也可以写成用分割符将要传的值组成一个字符串传过去的啊

雪雨星风 发表于 2008-6-24 11:11

恩传值好传  接收在没想到Split时我郁闷了一天

tomtory 发表于 2008-6-24 11:21

呵呵 现在想到了的噻

雪雨星风 发表于 2008-6-24 12:54

[em01] [em01] [em01]

smoon 发表于 2008-6-25 08:20

实在不行的话你就直接用Session吧...用完直接释放掉应该没问题的。。。还有就是用aspx?ID=XXXX  and ID2=XXXXX and ........这样的至少也应该能行的啊

雪雨星风 发表于 2008-6-25 08:45

通过ID传值的话试过

问题是每次要传的字符串个数也是随机的不固定

tomtory 发表于 2008-6-25 12:02

建议在项目中少用Session,因为体统产生一个Session就要占用系统近2KB的内存
Session产生得少没有什么,但是当它多的时候就看得出来了 会非常消耗系统性能
能不用Session的地方就尽量少用Session

你要传字符串 其实就用地址传参数的方法传要好得多  因为不管你有好多字符 就算是随机的你也可以将它组合成一条字符串嘛 传过去就可以了  也可以将其加密
并且它始终会在地址上 这样数据传到另一个页面上后也不会丢失数据啊  就是丢失了数据也可以重新解读地址得到  比较方便

雪雨星风 发表于 2008-6-25 14:14

每个字符串15个字符的话  传50个  
[em10] 够长的
呵呵  谢谢你的解释[em14] [em14] [em14] [em14]

gxlinhai 发表于 2008-6-26 16:56

页面间传值的方法很多,这里我教你两种方法
1、比如URL传值,例如http://xxx.xxx.xxx/aa.aspx?A=aaa&B=bbbC=ccc
可以用&来分隔各参数。

2、用Session传值
注意:Session能传任何数据类型,所以,如果你的参数多的话,不防先填到一个数组里去,然后用一个Session保存,传到另一个页后接收,例:

传:string[] arr = new string[]{"aaa","bbb","ccc"};
Session["send"] = arr;
收:
string[] getValue = (string[])Session["send"];
Session.Remove("send");//及时清除Session

[[it] 本帖最后由 gxlinhai 于 2008-6-26 16:58 编辑 [/it]]

雪雨星风 发表于 2008-6-27 09:13

[em01] 恩学习了    你们的理论学的真好

页: [1]

编程论坛