В поисках указателей на наиболее специфическую проблему.
Я создаю таблицу HTML с 4 полями для отображения электронной почты в Outlook.
Проблемный вывод в электронном письме выглядит следующим образом:
<tr>
<td>APC</td>
<td>M05</td>
<td>0</td>
<td>N/A</td>
</tr>
<tr>
<td>APC</td>
<td>M06</td>
<td>0< /td></td>
<td>N/A</td>
</tr>
<tr>
<td>APC</td>
<td>M07</td>
<td>0</td>
<td>N/A</td>
</tr>
Обратите внимание на добавленные < /td>
для M06.
Код, который генерирует вывод:
public class StatusTableLine
{
public string FeedType { get; set; }
public string Period { get; set; }
public string Attempts { get; set; }
public string Status { get; set; }
public StatusTableLine(string feedType, string period, string attempts, string status)
{
FeedType = feedType;
Period = period;
Attempts = attempts;
Status = status;
}
public string AsHtml()
{
return string.Format("<td>{0}</td><td>{1}</td><td>{2}</td><td>{3}</td>",
FeedType,
Period,
Attempts,
Status);
}
}
Справочная информация:
- FeedType - это жестко закодированное строковое значение в коде C #.
- Period - значение varchar, полученное из базы данных MSSQL. Это происходит из пользовательского ввода.
- Попытки из следующего оператора Linq:
var attempts = allAttempts.Count().ToString();
- Состояние из базы данных, полученной из жестко закодированных значений на входе C #.
Поскольку кажется, что это происходит только в одной строке (M06) несколько раз и только в одной базе данных (UAT, к которой у меня нет прямого доступа к отладке), я очень склоняюсь к тому, чтобы ввод пользователя был тупым.
Но какая последовательность символов в Period может меняться и добавлять символы HTML в другое поле (которое заполняется .Count().ToString()
)? Какой-то странный вид последовательности escape-символов?
Я знаю, что это очень специфический вопрос, но если у кого-то есть идеи, он будет очень признателен.