ASP.NET MVC Przekazywanie surowego kodu HTML z kontrolera do widoku
Przez kilka dni drapałem się po głowie i nie jestem pewien, czy jest to problem z moim środowiskiem lub samym kodem bazującym na byciu w ASP.NET MVC (chociaż mam 5 lat doświadczenia w C #). Korzystam z ostatniej czystej instalacji Win7x64 i VS 2008 ze wszystkimi łatami.
Mam surowy kod HTML przechowywany w tabeli bazy danych, która jest selektywnie ładowana przez kontroler na podstawie kilku reguł, nad którymi nie mam kontroli. Niestety, gdy próbujemy wcisnąć wartość do widoku danych w kontrolce, takich jak:
ViewData["HTMLData"] = DAO.HTMLDataGet();
Gdy widzę dane wyjściowe, jest to znak ucieczki / kodowanie HTML. Próbowałem użyć następujących elementów, które najwyraźniej nie rozwiązały tego problemu:
<%: HttpUtility.HtmlDecode(ViewData["HTMLData"].ToString())%>
I...
<%: Server.HtmlDecode(ViewData["HTMLData"].ToString())%>
I...
<%: Html.Raw(ViewData["HTMLData"].ToString())%>
... dobrze pobiera surowy kod HTML z tabeli bazy danych, jednak wymusza to kodowanie bez względu na to, co próbuję. Z tego, co przeczytałem w MSDN, była notatka o problemach wynikających z niewłaściwego dekodowania kodu HTML, który zawierał przestrzenie (które robię). Ponieważ wątpię, że jestem jedyną osobą, która się z tym spotkała, zwracam się do was po kilka pomysłów.
Mam zamiar wprawić mnie w szał, używając wyrażenia regularnego w widoku, aby zrobić czyszczenie strony, ale pomyślałem, że lepiej będzie uzyskać jakieś rady od innych ludzi, zanim je brutalnie wymuszę. Z góry dziękuję.