Я ломал голову над этим в течение нескольких дней, и я не уверен, является ли это проблемой с моей средой или с самим кодом, основанным на ASP.NET MVC (, хотя у меня есть 5-летний опыт работы с C #). Я использую недавнюю чистую установку Win7x64 и VS 2008 со всеми исправлениями.
У меня есть необработанный HTML, хранящийся в таблице базы данных, которая выборочно загружается контроллером на основе нескольких правил, которые я не могу контролировать. К сожалению, при попытке вставить значение в данные представления в элементе управления, например:
ViewData["HTMLData"] = DAO.HTMLDataGet();
Когда я вижу вывод, он экранирован/закодирован в HTML. Я попытался использовать следующее, все из которых, похоже, не решили эту проблему:
<%: HttpUtility.HtmlDecode(ViewData["HTMLData"].ToString())%>
И...
<%: Server.HtmlDecode(ViewData["HTMLData"].ToString())%>
И...
<%: Html.Raw(ViewData["HTMLData"].ToString())%>
... он отлично берет необработанный HTML из таблицы базы данных, однако продолжает принудительно использовать эту проклятую кодировку независимо от того, что я пытаюсь. Из того, что я прочитал в MSDN, было примечание о проблемах, возникающих из-за неправильного декодирования HTML, содержащего пробелы (, которые есть у меня ). Поскольку я сомневаюсь, что я единственный, кто столкнулся с этим, я обращаюсь к вам за некоторыми идеями.
Я собираюсь использовать Kludge по-своему, хотя это с регулярным выражением в представлении, чтобы выполнить очистку страницы, но подумал, что было бы лучше сначала получить несколько советов от других людей, прежде чем я буду использовать грубую силу. Заранее спасибо.