私はこれについて数日間頭を悩ませてきましたが、それが私の環境の問題なのか、ASP.NET MVC に基づいているコード自体の問題なのかはわかりません (ただし、C# で 5 年の経験があります)。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 が適切にデコードされず、スペースが含まれているために発生する問題についての脚注がありました (私の場合はそうです)。これに直面したのは私だけではないと思うので、皆さんにアイデアを求めています。
ページのクリーンアップを行うために正規表現を使用して自分の道を歩もうとしていますが、力ずくで実行する前に、まず他の人からアドバイスを得る方がよいと考えました。よろしくお願いします。