использовать html tag при возврате строки в функции C#
в таблице в одной из ячеек показываю данные, которые беру из фунцкии строка + переменная из БД (расчет времени), строку необходимо покрасить в красный цвет,
как добавить html tag например <span>, чтобы использовать класс css
или может другие решения бывают ?
private string GetTimeDifference(DateTime date1, DateTime date2)
{
string timeString = "";
TimeSpan ts = planningDateHeure - DateTime.Now;
//.....
if ((int)ts.TotalMinutes < 0) // опаздыват, красного цвета строка
{
timeString = "Опаздывает на : ";
switch (ts.Days)
{
case 0:
HH = ts.Hours.ToString();
MM = ts.Minutes.ToString().....;
return "<span style='background-color:red;'>" + timeString "</span>" + ....;
default:
HH = ts.Hours.ToString();
MM = ts.Minutes.ToString()......;
if (....) { ..... }
return "<span style='background-color:red;'>" + timeString "</span>" + ....;
}
}
else // вовремя, то без красного цвета
{
timeString = "Прибудет вовремя : ";
switch (ts.Days)
{
case 0:
HH = ts.Hours.ToString();
MM = ts.Minutes.ToString().....;
return timeString......;
default:
HH = ts.Hours.ToString();
MM = ts.Minutes.ToString().....;
...
if (.......)
return timeString + .........;
}
}
}
Ответы (1 шт):
Автор решения: Инквизитор
→ Ссылка
имхо, куча лишней фигни. я бы сделал примерно так (код подправьте сами:)
if ((int)ts.TotalMinutes < 0) // опаздывает, красного цвета строка
{
timeString = "<span class='color" + ts.TotalMinutes + "'>Опаздывает на : ";
switch (ts.Days)
{
case 0:
HH = ts.Hours.ToString();
MM = ts.Minutes.ToString().....;
return "<span>" + timeString "</span>" + ....;
default:
HH = ts.Hours.ToString();
MM = ts.Minutes.ToString()......;
if (....) { ..... }
return "<span>" + timeString "</span>" + ....;
}
}
и расцветку сделал стилями:
span[class^="color-"] > span {color:red}
/* у опаздывающих ts меньше нуля, класс будет со знаком минус, типа color-17 */
span:not([class^="color-"]) > span {color:black}
Это, разумеется, не отменяет того, что вам рекомендовал @EvgeniyZ в комментариях.