4

我刚刚开始使用网页,我不太明白为什么代码块不起作用。我需要有条件地显示一个 WebGrid。在我开始之前,我有这个:

<div>
@grid.GetHtml()
</div>

现在我尝试插入一个 if 语句:

<div>
  @if (condition) { grid.GetHtml(); }
</div>

这导致没有网格 html 显示。事实上,即使没有 if 语句,只有一个代码块,我也没有得到 html:

<div>
  @{ grid.GetHtml(); }
</div>

不幸的是,我正在运行 WebMatrix,所以我无法调试,但似乎每当我使用代码块时,语句都不会执行。

4

1 回答 1

3

对于一行语句,您应该使用 @ 符号而不是将其放在代码块中。如果您仍然将它放在代码块中(在某些情况下您需要),它不会通过调用来显示您的网格grid.GetHtml();这就是使用@符号的原因,这意味着您想要写出一些值,但是您仅当您使用 HTML 代码编写时才应使用它。使用代码块时,您必须告诉服务器应该写出该值,如下所示:

@{
this.Write(grid.GetHtml());
}
于 2013-02-12T09:44:16.633 回答