ASP.NET MVC3 Html.Raw, Html.Encode NullReferenceException

Rik*_*aru 2 c# razor asp.net-mvc-3

我有一个小问题。我在 Visual Web developer express 上使用 ASP.NET MVC 3,当我在 razor 视图或助手中使用Html.RawHtml.Encode时,我得到一个 NullReferenceException à 运行时。

举个例子 :

@Html.Raw(post.Body)
Run Code Online (Sandbox Code Playgroud)

或其他

@Html.Raw(@Html.Encode(comment.Body).Replace(Environment.NewLine, "<br />"))
Run Code Online (Sandbox Code Playgroud)

但是,字符串不是空的。例如,为了绕过第一种情况,我使用

@(new HtmlString(post.Body))
Run Code Online (Sandbox Code Playgroud)

但我会理解为什么它不适用于 Html;Raw 和 Html.Encode,而是尝试 hack。

预先感谢您的帮助。

Rik*_*aru 5

我解决了我的问题。我在一个以 HtmlHelper 为参数的 Helper 中工作

@helper Render(System.Web.Mvc.HtmlHelper html, ...
Run Code Online (Sandbox Code Playgroud)

我没有调用 html 参数,而是调用了未实例化的 Html 对象。对于简历,而不是

@Html.Raw(...)
Run Code Online (Sandbox Code Playgroud)

我愿意 :

@html.Raw(...)
Run Code Online (Sandbox Code Playgroud)

感谢您的回答。