2013-04-03 2 views
2

У меня здесь проблемы. На мой взгляд, у меня есть следующий код:Html.Raw is null

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

Но исключение типа NullReferenceException выбрасывают о том, что свойство Html равно нулю. Как я могу это решить?

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

+0

У вас такая же проблема, если вы используете '@ Html.Raw (alert)' – Kane

+0

Какую версию MVC вы используете? Метод «Raw» был добавлен в MVC 3. – Guffa

+0

@ Kane Да, я также получаю сообщение об ошибке! –

ответ

4

я не получил решение, поэтому я изменил код для:

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

Razor не кодирует HtmlString. Так оно и работало нормально.