2013-08-05 11 views
9

Im folgenden Code,Mit If-Anweisung in einem MVC Razor Ansicht

Wenn ich „@If“ Anweisung verwenden, erhalte ich den folgenden Kompilierung Codefehler als "Der Name‚Grid‘existiere nicht im aktuellen Kontext

.
@if (Model.SModel != null) 

{ 

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

} 

} 

else 
{ 
} 

@grid.GetHtml() 

,

Aber der Code kompiliert ohne "Wenn" statement.For Beispiel

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

} 
@grid.GetHtml(). 

Was ist der syntaktische Fehler bei der Verwendung von If else-Anweisung

Antwort

13

grid nicht außerhalb des Anwendungsbereichs des if statment erklärt.

Versuchen Sie stattdessen:

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

Sie müssen @ {} in @if nicht verwenden. Schreiben wie folgt aus:

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

'grid' werden nicht außerhalb der' if' Anweisung existieren – hunter

2

Ich würde versuchen, diese:

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

'grid' nicht außerhalb existiert von die 'if' Anweisung – hunter

+1

@hunter guten Ruf. Redigierte meine Antwort und stimmte Sie ab :) –