Html.Raw为null

时间:2013-04-03 13:17:22

标签: asp.net razor

我在这里遇到了麻烦。在我看来,我有以下代码:

@if (!string.IsNullOrEmpty(alert)) { 
    <div class="alert">@Html.Raw(alert)</div>
}

但是抛出类型NullReferenceException的异常,说Html属性为null。我怎么解决这个问题?

OBS:我的视图页面继承自一个继承自System.Web.WebPages.WebPage

的类

// WEBCONFIG

<system.web>
<compilation debug="true" targetFramework="4.0">
  <assemblies>
    <add assembly="Microsoft.Web.Infrastructure, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
    <add assembly="System.Web.Helpers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
    <add assembly="System.Web.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
    <add assembly="System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
    <add assembly="System.Web.WebPages, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
    <add assembly="System.Web.WebPages.Deployment, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
  </assemblies>
</compilation>
<httpRuntime targetFramework="4.0"/>

1 个答案:

答案 0 :(得分:5)

我没有得到解决方案,所以我将代码更改为:

@if (!string.IsNullOrEmpty(alert)) {    
    <div class="alert">@(new HtmlString(alert))</div>
}

Razor不编码HtmlString。所以它运作良好。