我收到错误" NullReferenceException:..." 在@Html.Raw附近(...
听到代码......
Commons.cshtml:
@helper BoxTitle(string CustomButtons)
{
if (!string.IsNullOrEmpty(CustomButtons))
{
@Html.Raw(CustomButtons)
}
}
view.cshtml:
<div class="box">
@Commons.BoxTitle("<button class='sub-button'>New</button>")
<div class="content">
</div>
</div>
有没有人能解决这个问题?
答案 0 :(得分:2)
在App_Code中无法访问默认的HtmlHelpers,这是我假设Commons.cshtml所在的位置。
你可以通过将消费的WebViewPage作为参数并使用它来获取HtmlHelpers来解决这个问题。您还需要为System.Web.Mvc.Html添加@using语句。
Commons.cshtml:
@using System.Web.Mvc.Html
@helper BoxTitle(System.Web.Mvc.WebViewPage wvp, string CustomButtons)
{
if (!string.IsNullOrEmpty(CustomButtons))
{
@wvp.Html.Raw(CustomButtons)
}
}
view.cshtml:
<div class="box">
@Commons.BoxTitle(this, "<button class='sub-button'>New</button>")
<div class="content">
</div>
</div>
答案 1 :(得分:0)
您可以在帮助程序本身内定义一个函数,并返回默认情况下未编码的MvcHtmlString。
@functions
{
static MvcHtmlString Raw(string text)
{
return MvcHtmlString.Create(text);
}
}
@helper WriteSomeHtml()
{
@Raw("<p>some html</p>)
}
你在
的任何助手中使用它@Raw("<p>your html</p>")