我有点问题。我在Visual Web Developer Express上使用ASP.NET MVC 3,当我在razor视图或帮助器中使用 Html.Raw 或 Html.Encode 时,我得到一个NullReferenceExceptionà运行时。
例如:
@Html.Raw(post.Body)
或其他
@Html.Raw(@Html.Encode(comment.Body).Replace(Environment.NewLine, "<br />"))
但是,字符串不是空的。举例来说,为了绕过第一种情况,我使用了
@(new HtmlString(post.Body))
但我明白为什么它不适用于Html; Raw和Html.Encode,而是试试黑客。
提前感谢您的帮助。
答案 0 :(得分:4)
我解决了我的问题。我在Helper工作,他把HtmlHelper作为参数
@helper Render(System.Web.Mvc.HtmlHelper html, ...
我没有调用html参数,而是调用了不是instanciate的Html对象。对于简历,而不是
@Html.Raw(...)
我做:
@html.Raw(...)
感谢您的回答。
答案 1 :(得分:0)
如果您在此行中发现错误@Html.Raw(
帖子.Body)
帖子为空
如果你在这行中发现错误@Html.Raw(Html.Encode(
comment.Body).Replace(Environment.NewLine,&#34;
&#34;))
comment
或Body
为null,您的调用Replace
方法为null。