#c# #asp.net
#c# #asp.net
Вопрос:
У меня есть литерал, который показывает число, скажем 4.00
. Чего бы я хотел, так это отформатировать его с помощью вычеркивания (например, когда вы что-то царапаете, потому что это неправильно). Я делаю это, потому что мне нужно обновить его до новой цены, но сохранить видимой старую цену:
old 16.00 (strike-through) new 14.95 (normal).
Это то, что у меня есть, но я не уверен, как это реализовать. Это возможно?
string myPrice = "16.00";
litMyPrice.Text = myPrice.ToString("c")
Ответ №1:
Вместо этого вам нужно будет использовать a asp:Label
, который генерирует <span>
тег, чтобы иметь возможность его стилизовать:
litMyPrice.Attributes.Add("style", "text-decoration: line-through;");
или
Создайте класс CSS и измените CssClass
свойство, я рекомендую этот подход. Смешивание разметки и CSS или даже .Сгенерированные в СЕТИ стили могут причинить вам боль в будущем.
.strikethrough {text-decoration: line-through;}
litMyPrice.CssClass = "strikethrough";
Ответ №2:
litMyPrice.Text = String.Format("<del>{0}</del>", myPrice.ToString("c"));
Ответ №3:
<del>16.00</del>
15.00 теперь 16.00
Ответ №4:
Присвойте литералу CssClass и оформите его с помощью text-decoration:line-through .
Комментарии:
1. Литерал не поддерживает CssClass, это только текст, он не отображает контейнер.
Ответ №5:
Я предполагаю, что litMyPrice — это элемент управления в вашем пользовательском интерфейсе. Если это метка asp, вы должны иметь возможность установить
<asp:Label ... Font-Strikeout="true" />