Html.Raw为空

mna*_*ito 2 asp.net razor

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

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

但是抛出了一个类型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"/>
Run Code Online (Sandbox Code Playgroud)

mna*_*ito 5

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

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

Razor不编码HtmlString。因此工作正常。