以下に示すように、ViewData インスタンスに html マークアップを設定しようとしています。ページがレンダリングされると、html タグは HTML マークアップではなくテキストとしてレンダリングされます。理由を知っている人はいますか?
コントローラーコード:
if (user.ActivationStatus == false)
{
...
ViewData["Message"] = "<p>Your account has been activated, you're good to go.</p>";
}
else
{
ViewData["Message"] = "<p>Sorry, this account has already been activated.</p>";
}
return View();
コードを表示:
<h2>Confirmation</h2>
<p><%: ViewData["Message"] %></p>
次に、過去に asp.net Web フォームで MultiView 機能を使用しました。この機能は理想的であり、MVC で同様の機能を実装するのが好きです。
関数の結果 (上記の「if」ステートメントなど) に応じて、コントローラー コードからビューのプレースホルダーに異なる PartialViews を呼び出す方法はありますか?