一个数据库里字段存的数据是1001,1002,1003,1004
都是用,隔开的。
一个数字对应一个相应的名。
我想在前面页面输出相应的名字。
比如1001对应的是封存卡。
    1002对应的是保密卡。
前面输出的结果就是  封存卡,保密卡。
这个前台输出要怎么写啊。

解决方案 »

  1.   

    Dictionary<string, string> temp = new Dictionary<string, string>();
    temp.Add("1001","封存卡");
    ........................string[] strs = "1001,1002,1003".Split(',');List<string> list = new List<string>();foreach(string str in strs)
    {
        list.Add(temp[str]);
    }
    string result = String.Join(",", list.ToArray());
      

  2.   

                 //将该字符串分割为数组形式
                  var strs=str.split(',');
                  for(var i=0;i<strs.length;i++)
                  {
                       //获得相应编号
                       var id = strs[i];
                       //输出
                       switch(id)
                       {
                          case 1: response.write("封存卡");
                          case 2:........
                          .........
                       }
                  } 
      

  3.   

    在前台判定时对内容进行判断显示
    先把其内容split出来存入数组
    遍历数组进行判断,根据相应的编号设置相应的名字,对其值进行修改
      

  4.   

    或者如果你数据库存在对应的字典表
    那你也可以直接写SQL文来实现
    不过这个SQL会比较麻烦~~~~~~~
    不如用程序实现来的简单~~~~~~~
      

  5.   

    你要怎么输出啊?
    例如 我将当前数据源填充到combobox ,显示时为中文名,获取值为相应数字值private void Form1_Load(object sender, EventArgs e)
    {
    string[,] SArr = new string[,]{{1001,封存卡},{1002,保密卡}}
    this.FillComb(SArr);
    }
    private void FillComb(string[,] array)
    {    for (int i = 0; i < array.Length / 2; i++)
        {
           this.comboBox1.Items.Add(array[i, 1]);    }
    }
    private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
    {
       if (this.comboBox1.SelectedItem != null)
       {
         string svalue = this.SArr[this.comboBox1.SelectedIndex, 0];
       }
    }
      

  6.   

    像LS那样或者直接用SQL查出来