2013-08-05 17 views
9

Nel codice seguente,Utilizzando Se dichiarazione in un MVC Razor Guarda

Se uso "@If" l'istruzione, ottengo il seguente errore di codice di compilazione come "Il nome 'griglia' non esiste nel contesto corrente .

@if (Model.SModel != null) 

{ 

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

} 

} 

else 
{ 
} 

@grid.GetHtml() 

,

Ma il codice viene compilato senza il "Se" esempio statement.For

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

} 
@grid.GetHtml(). 

Qual è l'errore sintattico nell'uso di If else statement

risposta

13

grid non è dichiarato al di fuori della portata del vostro if statment.

Prova a modificare:

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

Non è necessario utilizzare @ {} all'interno di @if. Scrivi come questo:

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

'grid' non esistere al di fuori del' dichiarazione if' – hunter

2

vorrei provare questo:

@if (Model.SModel != null) 
{ 
    WebGrid grid = new WebGrid(Model.SModel); 
    grid.GetHtml() 
} 
else 
{ 
} 
+0

'grid' non esiste al di fuori di la frase 'if' – hunter

+1

@hunter buona chiamata. Ho modificato la mia risposta e ho votato la tua :) –

Problemi correlati