Hoe kan ik weergeven vanaf een scriptblok met Razor?

Ik ben proberen om Razor/MVC3 te leren en heb wat problemen met deze gedeeltelijke View DisplayTemplate.

@{
    DateTime? date = ViewData.Model;

    if(date.HasValue) {
        date.Value.ToShortDateString();
    }
}

Dit is wat ik probeer te doen. Natuurlijk doe ik het niet goed, omdat het niet werkt. Ik heb het op verschillende manieren geprobeerd die ik kon bedenken en kreeg alleen maar willekeurige fouten. Deze methode geeft gewoon nooit iets terug.

1

2 antwoord

overal waar binnen de code blokkeert om over te schakelen naar de tekstmodus gebruik maken van fragment.

@{
    DateTime? date = ViewData.Model;
    string displayDate = "";

    if(date.HasValue) {
         
               @date.Value.ToShortDateString()
         
    }
}

cheers!

3
toegevoegd

U geeft met deze syntaxis niets aan de pagina weer; alle code doet een variabele datum declareren en zet deze op een waarde in het model. Probeer zoiets als ...

@{
    DateTime? date = ViewData.Model;
    string displayDate = "";

    if(date.HasValue) {
        displayDate = date.Value.ToShortDateString();
    }
}

@displayDate

Of nog eenvoudiger, alleen dit:

@if (ViewData.Model.HasValue) 
{
    @ViewData.Model.ToShortDateString()
}
2
toegevoegd
Dit zijn allebei goede antwoorden, maar je vertelde me eigenlijk wat er gebeurde en maakte me facepalm. Dank je.
toegevoegd de auteur Blanky, de bron