在列表框中的字符之间插入空格

时间:2009-08-06 07:32:38

标签: c# asp.net listbox

我正在尝试将项目插入到我的asp.net C#应用程序的列表框中

我连接了一些值并在它们之间添加了空格,但它没有显示在列表框中。

        ListItem lt = new ListItem();
        lt.Text = ItemName + "    " + barcode + "    " + price; // problem
        lt.Value = barcode;
        lstMailItems.Items.Add(lt);
我甚至试过

lt.Text = ItemName + "\t\t" + barcode + "\t\t" + price; // problem
lt.Text = ItemName + "& nbsp;" + barcode + "& nbsp;" + price; // &nbsp shows up as text

但这甚至似乎没有用。如何在这些字符串之间放置空格,以便它也显示在列表框中

4 个答案:

答案 0 :(得分:5)

string spaces = Server.HtmlDecode("    "); 

lt.Text = ItemName + spaces + barcode + spaces + price; // works

答案 1 :(得分:2)

我遇到了同样的问题,上面的答案让我觉得这对我有用。

string space = " ";
                space = Server.HtmlDecode(space);
                line = line.Replace(" ", space);
                ClassCodeListBox.Items.Add(line);

答案 2 :(得分:1)

尝试

lt.Text = string.Format("{0}\ \;{1}\ \;{2}",ItemName,barcode,price);

将\ \替换为& nbsp 如果您看不到。

或者

lt.Text = string.Format("{0} {1} {2}",ItemName,barcode,price);

答案 3 :(得分:0)

以下是两个运行良好的示例,以及如何获取当前格式:

  var SaleItem = new
    {
        name = "Super Cereal",
        barcode = "0000222345",
        price = 2.55m
    };

    ListItem lt = new ListItem();
    string space = " ";
    lt.Text = String.Concat(SaleItem.name, 
        space, SaleItem.barcode, space, SaleItem.price);
    lt.Value = SaleItem.barcode;

    ListItem lt2 = new ListItem();
    lt2.Text = string.Copy(String.Format("{0}: {1} {2}", 
               SaleItem.name, SaleItem.barcode, SaleItem.price.ToString("C")));
    lt2.Value = SaleItem.barcode;

    lstMailItems.Items.Add(lt);
    lstMailItems.Items.Add(lt2);