asp.net - Html.Raw 为空

标签 asp.net razor

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

@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/

相关文章:

c# - MVC RadiobuttonFor Razor 如何使标签可点击?

html - 将 CSS 应用于 HTML 电子邮件中呈现的部分 View

c# - 如何在我的 MVC 应用程序的 web.config 中允许 unicode 字符?

c# - 如何使用 HttpClient 发帖?

c# - 无法从代码隐藏中找到控件,但能够找到其他控件

javascript - 如何在复选框列表项选择上调用javascript函数

razor - 没有布局引用的 ASP.NET 默认 MVC4 应用程序内容页面?

javascript - 我们可以从 Angular Controller 获取 aspx.cs 页面中的数据吗?

c# - 使用客户端脚本进行验证?

javascript - MVC 在暂停四秒后重定向到另一个页面