#c# #javascript #asp.net #asp.net-mvc
#c# #javascript #asp.net #asp.net-mvc
Вопрос:
Я пытался :
string decodedHtml = HttpUtility.HtmlDecode(html);
Где html — это закодированный html. Кажется, что это вообще не изменяет строку. HTML все еще закодирован.
Комментарии:
1. Пожалуйста, покажите пример строки
2. HtmlDecode декодирует только значения, которые были закодированы с использованием HtmlEncode. К вашему сведению, есть различия между: HtmlEncode и UrlEncode против Uri.EscapDataString. Некоторая полезная информация здесь : blogs.msdn.com/b/yangxind/archive/2006/11/09 /…
3. Обратите внимание, что Asp.Net/Mvc действия обычно автоматически преобразуют параметры запроса URL, закодированные таким образом (encodeURIComponent), в простые строки: если вашему методу action требуется «ParamName», он пытается найти это значение в качестве параметра запроса (он также проверяет параметры form-post). Это называется «привязкой параметров». Он также преобразует более сложные типы, например bool, int, float.
Ответ №1:
string s = System.Uri.UnescapeDataString(html);
Ответ №2:
Думаю, вы сможете использовать этот код.
HttpContext.Current.Server.UrlDecode(html)
Ответ №3:
`
<p>Click the button to encode a URI.</p>
<button onclick="myFunction()">Try it</button>
<p id="demo"></p>
<script>
function myFunction() {
var uri = "https://informerspro.com";
var res = encodeURIComponent(uri);
document.getElementById("demo").innerHTML = res;
}
</script>
`
Комментарии:
1. Пожалуйста, не публикуйте только код в качестве ответа, но также предоставьте объяснение, что делает ваш код и как он решает проблему вопроса. Ответы с объяснением обычно более полезны и более высокого качества, и с большей вероятностью получат положительные отзывы.