@IT:.NET TIPS 文字列やテキストをHTMLエンコードするには? - C# VB.NET
HttpUtility.HtmlEncode メソッド (String)でいいらしけど、半角スペース( )のエンコーディングが含まれてないので、
HttpUtility.HtmlEncode(rawstr).Replace(" ", " ");
ってな感じにしないとダメみたい。
スタイルでの対応(2011/04/14追記)
コメントにあるように、データとしての空白を空白のまま表示ということであれば、実体参照ではなく、white-space:preで表示すべきかな。