Я бы предложил экранировать ваши значения на стороне клиента с помощью функции перехода javascript, как показано ниже
var data = { myKey: escape('bla <script> bla') };
Как только вы это сделаете, вы можете получить правильное значение на стороне сервера, используя следующий код (.Net Code)
HttpUtility.UrlDecode(param_value_to_decode)
Я проверил это, и правильное значение правильно передается на сервер через почтовый запрос.
Надеюсь, это поможет.
Дополнительная информация: я забыл указать причину ошибки. При проверке запроса с использованием firebug он возвращает «500 Internal Server Error - потенциально опасное значение Request.Form, обнаруженное из ...». Это встроенный механизм защиты от asp.net для защиты от внедрения скрипта. Следующая директива страницы ValidateRequest = "false" не решила проблему должным образом (работает в традиционных WebForms). Это может быть что-то конкретное для платформы Mvc, не уверен. Вышеупомянутое решение работает, так что просто используйте это.
Привет
G