2012-05-06 14 views
5

¿Cómo es que funciona bien el siguiente código ...¿Cómo incluyo las etiquetas ul dentro de un bloque de código de afeitar?

 <ul class="searchList"> 
      @if (Model.Count() > 0) 
      { 
       foreach (var partner in Model) 
       { 
        <li> 
         @Html.ActionLink(@partner.Name, "Details", "Partner", new { id = partner.AID }, null)<br /> 
         @partner.Street<br /> 
         @partner.CityStateZip<br /> 
         @if(!string.IsNullOrEmpty(partner.Phone)) 
          { 
           @partner.Phone<br /> 
          } 
         @(partner.Distance) miles<br /> 
        </li> 
       } 
      } 
     </ul> 

Pero este código no funciona bien ...

  @if (Model.Count() > 0) 
      { 
       <ul class="searchList"> 

         foreach (var partner in Model) 
         { 
          <li> 
           @Html.ActionLink(@partner.Name, "Details", "Partner", new { id = partner.AID }, null)<br /> 
           @partner.Street<br /> 
           @partner.CityStateZip<br /> 
           @if(!string.IsNullOrEmpty(partner.Phone)) 
            { 
             @partner.Phone<br /> 
            } 
           @(partner.Distance) miles<br /> 
          </li> 
         } 

       </ul> 
      } 

El segundo error se devuelve el siguiente error ...

Mensaje de error del compilador: CS0103: El nombre 'socio' no existe en el contexto actual.

Estoy encontrando que las reglas de código de mezcla de Razor son difíciles de seguir. Se apreciará cualquier enlace que brinde la explicación canónica.

Seth

Respuesta

10

Necesitas prefijar el foreach con @: Razor

@foreach (var partner in Model) 

El <ul> está fijando de nuevo a modo de markup-lo que es necesario añadir el @ para indicarle que debe volver a entrar en un bloque de código.

+1

Gracias no solo por decirme cómo, sino también por la explicación de lo que estaba haciendo mal. –

3

En el segundo ejemplo, es necesario hacer la transición de @foreach marcado con el código.

En el primer ejemplo, no lo hace, ya que los contenidos directos de un bloque if ya están codificados.

2

debe seguir this como referencia, nunca más se enfrentará a tales problemas. :)

+0

Gracias por el enlace. Justo lo que necesitaba. –

Cuestiones relacionadas