当从另一个cshtml调用这个帮助器时,我在编码行上得到一个Null Pointer Exception。
@helper ShowDefinitionText(String text)
{
<b>Definition:</b>
<p>
@Html.Encode("dogs")
</p>
}
在帮助程序中使用Html。*是不合法的吗?
感谢。
答案 0 :(得分:4)
您需要将其作为参数传递:
@helper ShowDefinitionText(String text, HtmlHelper htmlHelper)
{
<b>Definition:</b>
<p>
@htmlHelper.Encode("dogs")
</p>
}
并且从视图调用帮助程序时提供有效的实例:
@ShowDefinitionText("some text", Html)
此外,如果你只是进行HTML编码,你可能不需要助手,因为@
Razor运算符已经这样做了:
@helper ShowDefinitionText(String text)
{
<b>Definition:</b>
<p>
@text
</p>
}