我正在尝试将项目插入到我的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; //   shows up as text
但这甚至似乎没有用。如何在这些字符串之间放置空格,以便它也显示在列表框中
答案 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);