Я несколько раз царапаю голову об этом в течение нескольких дней, и я не уверен, что это проблема с моей средой или сам код, основываясь на ASP. .NET MVC (хотя у меня 5 лет опыта работы на C#). Я использую недавнюю чистую установку Win7x64 и VS 2008 со всеми исправлениями.ASP.NET MVC Передача сырого HTML из контроллера на просмотр
У меня есть исходный 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 мой путь, хотя он с регулярным выражением, чтобы сделать очистку страницы, но подумал, что лучше сначала получить совет от некоторых других людей, прежде чем я переберу его силу. Спасибо заранее.
- это все содержимое html, которое должно быть возвращено в представление? – bhuvin
Я считаю, что решил тайну. Я использовал <%: %> вместо <%= %> - последний решает проблему. Для Microsoft, пытаясь сделать что-то легкое, они сделали чертовски много глупых решений с ASP.Net, таких как эта и другая бесполезная псевдо-разметка. – Dave
Используя что-то 111Eleven – Oleg