当前位置:编程学习 > C#/ASP.NET >>

关于页面传值的一个问题

比如一个产品比较的页面,在产品列表中我勾选了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里取就是了 --------------------编程问答--------------------
引用 1 楼 wei123456 的回复:
可以啊,接收参数时使用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());

我用这种方法试了下,coll.AllKeys为一维数组了,他的值就是IINFOID --------------------编程问答--------------------
引用楼主 xunengtong 的回复:
比如一个产品比较的页面,在产品列表中我勾选了4个产品,我在跳转页面时用的是
ProductCompare.aspx?IINFOID=120&IINFOID=121&IINFOID=122&IINFOID=123
跳转 到这个页面后,我要取出这四个IINFOID,能不能不用IINFOID1,IINFOID2,IINFOID3,IINFOID4四个分别赋值,然后分别取啊?比如用数据的形式. 
具体的一句话:页面传值,能不能传相同名称的几个不同值?

重新声明下我的题目吧:

  <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分别用于取出这个值,就是不用每条都取,用一个数组一次性怎么取出? --------------------编程问答--------------------
引用 4 楼 xunengtong 的回复:
引用 1 楼 wei123456 的回复:
 可以啊,接收参数时使用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());

 我用这种方法试了下,coll.AllKeys为一维数组了,他的值就是IINFOID


Response.Write(coll.GetValues(arr1[i])[0].Trim()); 这句才是输出参数的值啊
arr1里都是参数名
补充:.NET技术 ,  .NET Framework
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,