我要让第一个页面里动态生成的一些checkbox的值传递到第二个页面去,也就是说第一个页面选里哪几个checkbox,第二个页面可以知道!!!!
在NO.1页面里:ArrayList cc=new ArrayList();  
cc.Add(ab.ID ); 就是这些个checkbox的IDfor(int i=0;i  <cc.Count ;i++)  
{  
CheckBox ab =(CheckBox)( Panel1.FindControl( cc[i].ToString() ) );  if(ab.Checked == true)  
{  
Session["i"]=ab.Text ;  
Session["counnt"]=cc.Count.ToString () ; 然后连到第二个页面
NO.2页面 for(int i=0;i <Convert.ToInt16(Session["count"]);i++)           Response.Write(Session["i"]); 
这样思路可以吗 可是他说我输入字符串有误 

解决方案 »

  1.   

    MM的帖子就要顶,挺麻烦的,不用session直接把值传过去不行吗
      

  2.   

    最好能用session因为还传递多个  不止两个页面 而且其他的我用不来
      

  3.   

     string categoryType = "";//定义文章分类
                for (int i = 0; i < clLogType.Items.Count; i++)
                {
                    if (clLogType.Items[i].Selected == true)
                    { categoryType += clLogType.Items[i].Value.Trim() + ","; }
                }
                if (categoryType.Length != 0)
                {
                    categoryType = categoryType.Substring(0, (categoryType.Length - 1));
                }这是选中checkbox,选中几个categoryType 这个就保存了
    你把这个categoryType  Response.Redirect('aa.aspx?id='"+categoryType  +"'');
    在另外一个页面 string idNo=Request.QueryString["categoryType"];得到
      

  4.   

    你Session["i"]=ab.Text ;   的意思应该是第i个对应的值吧.
    这里应该用Session[i.Tostring()] 吧.不然每次循环就把上一次的Session["i"]给覆盖了.这里也可以用有个ArrayList 之类的存整个已选择的checkbox的ID.
    然后把这个ArrayList 用 Session传过去还有Session不做null判断很容易出异常的
      

  5.   

    传过去的值是以 aa,bb,cc这种形式
      

  6.   

    我之前有做过个起始页Session["i"]="";
    我现在要在第二页判断的是在第一页选中了几个checkbox
    我也有把每个checkbox的ID放到ArrayList中定义为CC
    我也有把这个CC放到Session["count"] 问题是该怎么传呢 第二页的代码是该怎么写才能得到第一页选了几个checkbox
      

  7.   

    5楼的意思是我已经有一个Arrylist cc 是放所有的checkbox的ID
    然后我还要再定义一个ArryList 比如dd 然后在dd里放已经选择的ID
    怎么放呀?不懂55555 怎么把已经选择的checkbox 放里面去呢dd.Add(???)
      

  8.   


    在NO.1页面里:ArrayList cc=new ArrayList();   
    cc.Add(ab.ID ); 就是这些个checkbox的ID for(int i=0;i   <cc.Count ;i++)   
    {   
    CheckBox ab =(CheckBox)( Panel1.FindControl( cc[i].ToString() ) );   if(ab.Checked == true)   
    {   
    Session[i.ToString()]=ab.Text ;    //注意这里的,把"i"换成i.ToString(); 
    Session["counnt"]=cc.Count.ToString () ;  然后连到第二个页面 
    NO.2页面 for(int i=0;i  <Convert.ToInt16(Session["count"]);i++)    Response.Write(Session[i.ToString()]);  //注意这里的,把"i"换成i.ToString(); 
      

  9.   

    9楼的解决了字符串的问题 可是还是有个老问题 我明明做了循环了 为什么当多选checkbox的时候 也只能取到一个checkbox的值呢 为什么呢 为什么呢
      

  10.   

    我有用for循环可是为什么还是当多选的时候在第二页只能取到一个 checkbox 值呢
      

  11.   

    Session["counnt"]=cc.Count.ToString () ;  
    变成
    Session["counnt"]=cc[i].Count.ToString () ;