ASP.NET Razor - C# loogiset ehdot

Ohjelmointilogiikka: Suorita ehtoon perustuvaa koodia.

If ehto

C# sallii sinun suorittaa ehtoon perustuvaa koodia.

Jos haluat testata tiettyä ehtoa, voit käyttää if-lause. if-lause palauttaa true tai false testauksesi perusteella:

  • if-lause käynnistää koodin
  • Ehdot ovat sulkeissa
  • Jos ehto on totta, suoritetaan sisällä oleva koodi

Esimerkki

@{muuttuja hinta=50;}
<html>
<body>
@if (hinta>30)
    {
    <p>Hinta on liian korkea.</p>
    }
</body>
</html>

Suorita esimerkki

Else ehto

if-lause voi sisältää else ehto.

else ehto määrittää koodin, joka suoritetaan, kun ehto on false.

Esimerkki

@{muuttuja hinta=20;}
<html>
<body>
@if (hinta>30)
  {
  <p>Hinta on liian korkea.</p>
  }
else
  {
  <p>Hinta on sopiva.</p>
  } 
</body>
</html>

Suorita esimerkki

Kommentit:Yllä olevassa esimerkissä, jos hinta ei ole suurempi kuin 30, suoritetaan loput lauseet.

Else If ehto

voidaan else if ehtoTestataan useita ehtoja:

Esimerkki

@{muuttuja hinta=25;}
<html>
<body>
@if (hinta>=30)
  {
  <p>Hinta on liian korkea.</p>
  }
else if (price>20 && price<30) 
  {
  <p>Hinta on sopiva.</p>
  }
else
  {
  <p>Hinta on sopiva.</p>
  }    
</body>
</html>

Suorita esimerkki

Yllä olevassa esimerkissä, jos ensimmäinen ehto on totta, suoritetaan ensimmäinen koodikappale.

Muussa tapauksessa, jos seuraava ehto on totta, suoritetaan toinen koodikappale.

Voit asettaa määritetty määrän else if -ehtoja.

Jos sekä if- että else if -ehdot eivät ole totta, suoritetaan viimeinen else-koodikappale.

Switch-ehto

switch-koodeihinKäytettävissä testataan sarjaa erityisiä ehtoja:

Esimerkki

@{
var weekday=DateTime.Now.DayOfWeek;
var day=weekday.ToString();
var message="";
}
<html>
<body>
@switch(day)
{
case "Monday":
    message="This is the first weekday.";
    break;
case "Thursday":
    message="Only one day before weekend.";
    break;
case "Friday":
    message="Tomorrow is weekend!";
    break;
default:
    message="Today is " + day;
    break;
}
<p>@message</p>
</body>
</html>

Suorita esimerkki

Testiarvo (day) sijaitsee sulkeissa. Jokainen erityinen testitila alkaa case-kysymyksellä ja päättyy kolonilla, sen jälkeen sallitaan määritty määrä koodirivejä, jotka päättyvät break-komentoon. Jos testiarvo vastaa case-arvoa, suoritetaan koodirivit.

switch-koodeihin voidaan asettaa oletusarvoisen case (default:) tilanteet, mikä sallii koodin suorittamisen, jos kaikki case -tilanteet eivät ole totta.