检查razor语法的值null

时间:2015-06-16 18:42:38

标签: c# asp.net-mvc asp.net-mvc-3 asp.net-mvc-4 razor

以下代码失败,因为propiedadesFormularioDetalle为null。 我在块代码之前放置了一个IF,但仍然无法正常工作,如果我删除其中一个bracked,那么它就不会编译

  @if (propiedadesFormularioDetalle != null) { }
                        <div class="panel panel-default">
                            <div class="panel-heading">Propiedades adicionales</div>
                            <div class="panel-body">
                                <dl class="dl-horizontal">
                                    @foreach (KeyValuePair<string, string> propiedad in propiedadesFormularioDetalle)
                                    {

                                        <dt>
                                            @Html.DisplayName(propiedad.Key)
                                        </dt>

                                        <dd>
                                            @Html.DisplayFor(prop => propiedad.Value)
                                        </dd>

                                    }
                                </dl>
                            </div>      
                        }                 
                    </div>

4 个答案:

答案 0 :(得分:1)

试试这个:

 @{ 
if (propiedadesFormularioDetalle != null) { 
                        <div class="panel panel-default">
                            <div class="panel-heading">Propiedades adicionales</div>
                            <div class="panel-body">
                                <dl class="dl-horizontal">
                                   foreach (KeyValuePair<string, string> propiedad in propiedadesFormularioDetalle)
                                    {

                                        <dt>
                                            Html.DisplayName(propiedad.Key)
                                        </dt>

                                        <dd>
                                            Html.DisplayFor(prop => propiedad.Value)
                                        </dd>

                                    }
                                </dl>
                            </div>      
                        }                 
                    </div>
}

答案 1 :(得分:1)

您已关闭char string2[] = "12ab";条件并在最后if之前放置了一个额外的大括号。这应该是正确的:

div

答案 2 :(得分:1)

试试这个:

@if (propiedadesFormularioDetalle != null) 
{ 
     <div class="panel panel-default">
         <div class="panel-heading">Propiedades adicionales</div>
             <div class="panel-body">
                 <dl class="dl-horizontal">
                      @foreach (KeyValuePair<string, string> propiedad in propiedadesFormularioDetalle)
                      {
                           <dt>
                                @Html.DisplayName(propiedad.Key)
                           </dt>
                           <dd>
                                @Html.DisplayFor(prop => propiedad.Value)
                           </dd>

                      }
                  </dl>
              </div>                        
      </div>
} 

答案 3 :(得分:0)

@if (propiedadesFormularioDetalle != null) 
{ 
     <div class="panel panel-default">
          <div class="panel-heading">Propiedades adicionales</div>
          <div class="panel-body">
               <dl class="dl-horizontal">
               @foreach (KeyValuePair<string, string> propiedad in propiedadesFormularioDetalle)
               {
                     <dt>@Html.DisplayName(propiedad.Key)</dt>
                     <dd>@Html.DisplayFor(prop => propiedad.Value)</dd>
                }
                </dl>
           </div>      
    </div>
 }

<强>无论其!无论什么在“if”语句之上都可以影响这个。如果你已经在代码块中,Razor会在“if”语句前面抱怨不必要的“@”。