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

时间:2014-09-17 06:32:21

标签: c# asp.net-mvc-3 razor

我有点问题。我在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,而是试试黑客。

提前感谢您的帮助。

2 个答案:

答案 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;)) commentBody为null,您的调用Replace方法为null。