在MVC Razor View中使用If语句

时间:2013-08-05 16:15:04

标签: asp.net-mvc-3 asp.net-mvc-4 razor razor-2

在以下代码中,

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

@if (Model.SModel != null)

{

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

 }

 }

 else
 {
}

@grid.GetHtml()

但代码编译时没有“If”语句。例如

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

}
@grid.GetHtml().

使用If else语句

时的语法错误是什么?

3 个答案:

答案 0 :(得分:13)

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

请改为尝试:

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

答案 1 :(得分:2)

我会试试这个:

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

答案 2 :(得分:0)

你不需要在@if中使用@ {}。写得像这样:

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