关于页面传值的一个问题
比如一个产品比较的页面,在产品列表中我勾选了4个产品,我在跳转页面时用的是ProductCompare.aspx?IINFOID=120&IINFOID=121&IINFOID=122&IINFOID=123
跳转 到这个页面后,我要取出这四个IINFOID,能不能不用IINFOID1,IINFOID2,IINFOID3,IINFOID4四个分别赋值,然后分别取啊?比如用数据的形式.
具体的一句话:页面传值,能不能传相同名称的几个不同值? --------------------编程问答-------------------- 可以啊,接收参数时使用NameValueCollection
例:
System.Collections.Specialized.NameValueCollection coll = Request.QueryString;
String[] arr1 = coll.AllKeys;
for (int i = 0; i < arr1.Length; i++)
Response.Write(coll.GetValues(arr1[i])[0].Trim()); --------------------编程问答-------------------- iinfoid=120,121,122,123
用下URLENCODING。 --------------------编程问答-------------------- 随便怎么写,从querystring里取就是了 --------------------编程问答--------------------
我用这种方法试了下,coll.AllKeys为一维数组了,他的值就是IINFOID --------------------编程问答--------------------
重新声明下我的题目吧:
<asp:LinkButton ID="linkButton" runat="server" Text="页面传值测试" OnClick="linkButton_Click"></asp:LinkButton>
protected void linkButton_Click(object sender, EventArgs e)
{
string url = "";
int count = 5;
for (int i = 1; i < count; i++)
{
a++;
url += "&IINFOID="+ i;
}
string cxurl = url.Remove(url.IndexOf("&"), 1);
Response.Redirect("Default3.aspx?" + cxurl);
}
这样点击页面全传值测试就会进入到Default3.aspx?IINFOID=1&IINFOID=2&IINFOID=3&IINFOID=4
在Default3中有四个label分别用于取出这个值,就是不用每条都取,用一个数组一次性怎么取出? --------------------编程问答--------------------
Response.Write(coll.GetValues(arr1[i])[0].Trim()); 这句才是输出参数的值啊
arr1里都是参数名
补充:.NET技术 , .NET Framework