在MVC Razor View中使用If语句

use*_*764 9 razor asp.net-mvc-3 asp.net-mvc-4 razor-2

在以下代码中,

如果我使用"@If"语句,我会得到以下编译代码错误:"当前上下文中不存在名称'grid'.

@if (Model.SModel != null)

{

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

 }

 }

 else
 {
}

@grid.GetHtml()
Run Code Online (Sandbox Code Playgroud)

,

但代码编译时没有"If"语句.例如

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

}
@grid.GetHtml().
Run Code Online (Sandbox Code Playgroud)

使用If else语句时的语法错误是什么?

hun*_*ter 13

grid未在您的if声明范围之外宣布.

试试这个:

@if (Model.SModel != null) {
    WebGrid(Model.SModel).GetHtml()
}
Run Code Online (Sandbox Code Playgroud)