我有4个下拉菜单,ID分别从dropdown1到dropdown4,现在取出值后,要如何在每个值之间插入一个","然后存入数据库的一个字段里?我用的是sql,一般我们在同一字段里是用什么符号来分别数据比较好呢?如果已经按照上面的方法存入后,读取时又用什么技巧把一个个分开显示呢?如果要搜索这种做法,用什么关键字搜索可以找到解决方案呢?(可以帮我找到资料解决这个问题也给分)

解决方案 »

  1.   

    这个问题比较的简单,我现在只能提供思路。
    首先定义一个StringBuilder 类的事例,用它来循环接下拉框的值。foreach(ListItem lt in dropdownlist)
    {
      StringBuilder str+=lt.selectvalue+",";
    }然后将str写如数据库。
    从数据库去的时候用String类的Split() 方法分割,详细请看帮助
    说明一点,String类是专门用来操作字符串的,这方面很有用
      

  2.   

    Web中的话要得到几个字段的值很简单直接用JS就能实现
    存入数据库用Split()转成数组操作
      

  3.   

    protected void Button1_Click(object sender, EventArgs e)
        {
            string str = "";
            Int32 num = Convert.ToInt32(DropDownList5.SelectedItem.Text);
            for (int i = 1; i <= num; i++)
            {
                Panel p = (Panel)this.FindControl("Panel" + i);
                if (p != null)
                {
                    DropDownList dll = (DropDownList)p.FindControl("DropDownList" + i);
                    str = dll.SelectedItem.Text+","+str;                
                }            
            }
            Response.Write(str);
        }
    我这样写的话,当i=4时输出 d,c,b,a,  如何处理才能把a后面的逗号去掉,并且按a,b,c,d排列?
      

  4.   

    protected void Button1_Click(object sender, EventArgs e)
        {
            string str = "";
            Int32 num = Convert.ToInt32(DropDownList5.SelectedItem.Text);
            for (int i = 1; i <= num; i++)
            {
                Panel p = (Panel)this.FindControl("Panel" + i);
                if (p != null)
                {
                    DropDownList dll = (DropDownList)p.FindControl("DropDownList" + i);
                    str = str+","+dll.SelectedItem.Text;    //这句改动了            
                }            
            }
            Response.Write(str);
        }如果改成这样的话,i=4时,输出,a,b,c,d  顺序对了,但如何把第一个","去掉?
      

  5.   

    如果改成这样的话,i=4时,输出,a,b,c,d  顺序对了,但如何把第一个","去掉?
    ==============================
     将这一句:str = str+","+dll.SelectedItem.Text; 
     改为一个判断:if(str==null||str=="")
                   {
                       str +=  dll.SelectedItem.Text; 
                   }
                   else
                   {
                       str +=  "," + dll.SelectedItem.Text;
                   }