2012-08-01 25 views
8

Mam problemy z wyświetlaniem (zamiast wyświetlania NIE) zwykłego tekstu w bloku else.Sposób wyświetlania warunkowego zwykłego tekstu za pomocą maszynki do golenia

if (Model.CareerFields != null && ViewBag.CFCount > 0) 
{ 
<h3>Careerfields Listing</h3> 

<table> 
    <tr> 
     <th></th> 
     <th>Careerfield Name</th> 
    </tr> 

    @foreach (var item in Model.CareerFields) 
    { 
     <tr> 
     <td> 
      @Html.ActionLink("Select", "Index", new { careerFieldID = item.CareerFieldId }) 
     </td> 
     <td> 
      @item.CareerFieldName 
     </td> 
     </tr> 
    } 
    </table> 
} 
else 
{ 
    No Careerfields associated with @ViewBag.SelectedDivisionTitle 
} 

Bloki if działają bez zarzutu. Tekst wyświetla się tylko wtedy, gdy jest prawdziwy. Jednak tekst bloku else renderuje się po załadowaniu strony, a nie tylko w przypadku wartości false.

Próbowałem za pomocą

Hmtl.Raw("No Careerfields associated with ") 
<text>No Careerfields associated with @ViewBag.SelectedDivisionTitle</text> 
@:No Careerfields associated with @ViewBag.SelectedDivisionTitle 

Ale to nadal czyni tekst jawny przed oceną.

Wszelkie sugestie?

+0

Zamiast tylko używać "else if" do rozwiązania problemu z wyświetlaniem – swapneel

+0

Czy próbowałeś używać ? tak: Brak karier powiązanych z @ ViewBag.SelectedDivisionTitle user1304444

+0

@ user1304444 Tak, mam. To nie działa. – Erik

Odpowiedz

8

Połóż „zwykły tekst” wewnątrz nagiej <span> tagu:

else 
{ 
    <span>No Careerfields associated with @ViewBag.SelectedDivisionTitle</span> 
} 

Przeglądarka nie powinno uczynić go wyjątkowym (chyba że masz css wybieranie każdego zakresu) i to pomoże brzytwa poczucie końca C# i wydrukuj swój HTML.

+0

Nadal renderuje. Brak CSS na znacznikach span - właśnie używam domyślnego arkusza stylów, który jest teraz tworzony za pomocą aplikacji MVC3. – Erik

2

Wygląda na to, że zapomniałeś o znaku @ przed wydaniem oświadczenia if. Spróbuj tego:

@if (Model.CareerFields != null && ViewBag.CFCount > 0) 
{ 
    <h3>Careerfields Listing</h3> 

    <table> 
     <tr> 
      <th></th> 
      <th>Careerfield Name</th> 
     </tr> 

     @foreach (var item in Model.CareerFields) 
     { 
      <tr> 
       <td> 
        @Html.ActionLink("Select", "Index", new { careerFieldID = item.CareerFieldId }) 
       </td> 
       <td>@item.CareerFieldName</td> 
      </tr> 
     } 
    </table> 
} 
else 
{ 
    <text>No Careerfields associated with @ViewBag.SelectedDivisionTitle</text> 
} 
4

Poniższy kod działało idealnie dla mnie:

@if (false) { 
    <h3> 
     Careerfields Listing 
    </h3> 
    <table> 
     <tr> 
      <th> 
      </th> 
      <th> 
       Careerfield Name 
      </th> 
     </tr> 
    </table> 
} 
else 
{ 
    @:No Careerfields associated with @ViewBag.SelectedDivisionTitle 
} 

Można zobaczyć, że zawartość jeśli są renderowane po zmianie stanu na prawdziwej.

Powiązane problemy