我这里遇到麻烦了。在我看来,我有以下代码:
@if (!string.IsNullOrEmpty(alert)) {
<div class="alert">@Html.Raw(alert)</div>
}
但是抛出了 NullReferenceException
类型的异常,表明 Html 属性为 null。我该如何解决这个问题?
OBS:我的 View 页面继承自一个类,而该类又继承自 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"/>
最佳答案
我没有得到解决方案,所以我将代码更改为:
@if (!string.IsNullOrEmpty(alert)) {
<div class="alert">@(new HtmlString(alert))</div>
}
Razor 不编码 HtmlString。所以效果很好。
关于asp.net - Html.Raw 为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15788430/