Рассмотрим следующий помощник по тегам (скрытые не относящиеся к делу части)
[HtmlTargetElement("*", Attributes = "optional-field-checkbox")]
public class OptionalFieldCheckbox : TagHelper
{
// [...]
[HtmlAttributeName("checkbox-label")]
public string CheckboxLabel { get; set; }
public override Task ProcessAsync(TagHelperContext context, TagHelperOutput output)
{
// [...]
}
}
с вызовом вышеупомянутого помощника по тегам следующим образом
<div optional-field-checkbox checkbox-label="L'évènement se déroule sur plusieurs jour ?">
<!-- [...] -->
</div>
Когда я получаю значение изCheckboxLabel
свойство в методе ProcessAsync
Я получаю следующую, неправильно закодированную строку:
L'�v�nement se d�roule-t-il sur plusieurs jour?
Ожидаемое значение будет
L'évènement se déroule-t-il sur plusieurs jour?
У меня есть:
- Погуглил эту проблему, и, похоже, это связано с двойным кодированием значения с помощью TagHelper, но я не смог найти никакого решения
- Попытка обойти кодирование с использованием
HtmlString
в качествеТип свойства CheckboxLabel
, но он ничего не изменил - Пробовал использовать
WebUtility.HtmlDecode
и WebUtility.UrlDecode
, чтобы вернуть исходную строку, но безрезультатно
Какя могу получить необработанную строку в методе ProcessAsync
и, если это невозможно, как я могу закодировать строку обратно в ее первоначальную форму?