HTML.Raw()を使用して文字列に含まれるHTMLを表示できることはわかっているということで、この前置きをしましょう。ただし、MVCの目的は、コードロジックを分離し、フロントエンド開発者がロジックではなくUIに集中できるようにすることだと思います。したがって、私はモデルからできる限りすべてを、見た目どおりに渡すようにしています。
それは私の質問に私をもたらします。アドレスを含むモデルがあります。いくつかの異なるバージョン(1行、2行、複数行)でアドレスを返す関数を作成し、これらをHtmlStringオブジェクトとして設定しています。
public HtmlString TwoLine { get { return ReturnFullAddress(2); } }
/* function removed for brevity */
ただし、次のかみそりコードを書くと:
@Html.DisplayFor(modelItem => item.Address.TwoLine)
ビュー内にテキストは返されません。これをデバッグすると、Address.TwoLine内に適切に割り当てられた値がありますが、それは{}内にあります(これは奇妙だと思いました)。
これを機能させるにはどうすればよいですか、またはなぜこれが機能しないのですか?