web-dev-qa-db-fra.com

Utilisation de l'instruction If dans une vue MVC Razor

Dans le code suivant,

Si j'utilise l'instruction "@If", j'obtiens l'erreur de code de compilation suivante: "Le nom 'grid' n'existe pas dans le contexte actuel. 

@if (Model.SModel != null)

{

@{ 
    WebGrid grid = new WebGrid(Model.SModel);

 }

 }

 else
 {
}

@grid.GetHtml()

,

Mais le code est compilé sans l'instruction "If" .Par exemple

@{ 
    WebGrid grid = new WebGrid(Model.SModel);

}
@grid.GetHtml().

Quelle est l'erreur de syntaxe lors de l'utilisation de l'instruction if else

9
user2630764

grid n'est pas déclaré en dehors de la portée de votre déclaration if.

Essayez ceci à la place:

@if (Model.SModel != null) {
    WebGrid(Model.SModel).GetHtml()
}
13
hunter

Je voudrais essayer ceci:

@if (Model.SModel != null)
{
    WebGrid grid = new WebGrid(Model.SModel);
    grid.GetHtml()
}
else
{
}
2
Brian Maupin

Vous n'avez pas besoin d'utiliser @ {} dans @if. Écrivez comme ceci:

@if (Model.SModel != null)
{
WebGrid grid = new WebGrid(Model.SModel)
}
0
Andriy Gubal