Поле помощника тега закодировано неправильно - PullRequest
0 голосов
/ 02 июня 2019

Рассмотрим следующий помощник по тегам (скрытые не относящиеся к делу части)

[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 и, если это невозможно, как я могу закодировать строку обратно в ее первоначальную форму?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...