Это сложно объяснить, поэтому, пожалуйста, потерпите меня. Я использую комбинацию кодирования на стороне сервера с использованием метода ASP.NET HttpUtility.HtmlEncode()
и кодирования на стороне клиента с помощью jsRender (кстати, потрясающей библиотеки рендеринга.)
Когда я использую один из них, он работает нормально. Символ <
станет <
, но он все равно будет отображаться как <
в браузере, что хорошо, потому что иногда существуют законные случаи, когда эти символы используются и должны отображаться пользователю правильно, но не выполняются браузер
Проблема в том, что когда я кодирую на стороне сервера, а затем также кодирую ту же самую строку на стороне клиента, теперь она отображает закодированную строку в браузере. Вы, наверное, спрашиваете себя, зачем мне это делать в обоих местах. Причиной этого является то, что я предпочитаю делать это на стороне сервера, но мне нравится, когда клиентская сторона тоже там, на случай, если разработчик забудет сделать это на стороне сервера или наоборот в качестве отказоустойчивого.
Есть ли способ кодировать его в обоих местах и при этом отображать в браузере как не кодированную строку?