学習中に非常に基本的な MVC3 サイトを構築していますが、次の宣言型 Razor html ヘルパーに問題があります。
App_Code フォルダー内の RMB.cshtml 内:
@helper ReplaceCrLf(string strText)
{
@Html.Raw(Html.Encode(strText).Replace(Environment.NewLine, "<br />"));
}
私の index.cshtml ビュー内:
@RMB.ReplaceCrLf(Model.Post)
これにより、ヘルパーの Html で null 参照例外が発生します。これは、それが何であるかを認識していないように見えるためです。ビューからヘルパーにHtmlを渡すことでこれを回避できますが、共有HTMLヘルパーがHtmlを参照できるようにする別の方法があるかどうか疑問に思っていました。
完全を期すために、次の回避策があります。
App_Code の RMB.cshtml 内
@helper ReplaceCrLf(string strText, System.Web.Mvc.HtmlHelper Html)
{
@Html.Raw(Html.Encode(strText).Replace(Environment.NewLine, "<br />"));
}
index.cshtml ビューで
@RMB.ReplaceCrLf(Model.Post, Html)