为什么我不能在ASP.NET ListBox值中存储XML?

时间:2010-06-08 14:59:26

标签: asp.net controls

为什么这样做:

ListItem item = new ListItem();
string value = lstAvailExtPropsToFilter.SelectedItem.Text +" = "+ txtExtPropToFilter.Text;
string text = lstAvailExtPropsToFilter.SelectedItem.Text + " = " + txtExtPropToFilter.Text;
item.Text = text;
item.Value = value;
lstExtPropsToFilter.Items.Add(item);

但不是这样:

ListItem item = new ListItem();
string value = string.Format("<key>{0}</key><value>{1}</value>", lstAvailExtPropsToFilter.SelectedItem.Text, txtExtPropToFilter.Text);
string text = lstAvailExtPropsToFilter.SelectedItem.Text + " = " + txtExtPropToFilter.Text;
item.Text = text;
item.Value = value;
lstExtPropsToFilter.Items.Add(item);

1 个答案:

答案 0 :(得分:2)

您必须转义字符串,以便它在HTML中工作。试试Server.HTMLEncode

Server.HTMLEncode("<key>{0}</key><value>{1}</value>")

然后,当您需要提取值时,请使用Server.HTMLDecode