数据库里有一字段wholesale,里面存储的值是类似这样的形式:1-5,10,6-10,8意思是购买1-5件货的价格是10元,6-8件货的价格是8元,这样的表达形式存储在一个字段内是方便输入,现在在前台显示的时候想用下拉列表的形式把货物件数和对应的价格表示出来,让顾客选择价格后加入购物车.不知道我表达得清楚不?有做过的朋友帮帮忙哈.我分不多...10分请笑纳...

解决方案 »

  1.   

    如果都是这样的格式的您也许可以这样处理:
    string sourceString = @"1-5,10,6-10,8";
    string pattern = @"(?<name>\d+-\d+),(?<price>\d+)";
    System.Text.RegularExpressions.MatchCollection results = Regex.Matches(sourceString,pattern,System.Text.RegularExpressions.RegexOptions.IgnoreCase);
    foreach(Match result in results)
    {
    WL(result.Groups["name"].Value);//输出
    WL(result.Groups["price"].Value);//输出
    }
      

  2.   


      
    -----------------------------------------------
    msn:[email protected]
    请给我一个与您交流的机会
      

  3.   

    string strSale = "将数据取出来";
    string [] strList = strSale.Split(',');
    int iCount = strList.Length;
    if(iCount<1&&(iCount%2)==1)
      return;
    else
    {
        string [] strObject = new string [(int)iCount/2];
        int iFlag = 0;
        int iIndex = 0;
        string strTemp = "";
        foreach(string s in strList)
        {
            iFlag ++;
            if(iFlag==1)
            {
               strObject[iIndex] =strTemp + "-"  + s;
               iIndex ++;
               iFlag = 0;
               strTemp = "";
            }
            else
            {
                 strTemp += s;
            }
        }
        //
        foreach(string s in strObject)
        {
            ListItem li = new ListItem(s.Split('-')[0],s.Split('-')[1]);
            DropDownList1.Items.Add(li);
        }
    }呵呵 我手写的 没有测试阿  你自己参考吧目标就是 先截取(2个一组) 然后慢慢向上添加
      

  4.   

    我解决了,呵呵,谢谢大家了,我把简单的测试发出来大家分享下吧,呵呵<%@ Page Language="C#" ContentType="text/html" ResponseEncoding="gb2312" %>
    <%@ Import NameSpace="System.Data"%>
    <%@ Import NameSpace="System.Data.OleDb"%>
    <script language="c#" runat="server">
      string show1,show2,show3,show4;
      public void Page_Load(Object sender,EventArgs e)
      {
        string tmp="1-5,10,6-10,8";
        string[] mm=tmp.Split(',');
    show1=mm[0];
    show2=mm[1];
    show3=mm[2];
    show4=mm[3];
      }
    </script>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>测试</title>
    </head>
    <body>
    <%=show1%><br>
    <%=show2%><br>
    <%=show3%><br>
    <%=show4%>
    </body>
    </html>