ASP.NET、MVC アプリケーションの場合grid
、Razor 構文を使用する場合、なぜ@
行の前に右が必要なのgrid.GetHtml();
ですか?
例 -
@{
var grid = new WebGrid(Model);
@grid.GetHtml();
}
で囲むだけで十分ではありませんgrid.GetHtml();
か@{ }
?
ありがとう!
ASP.NET、MVC アプリケーションの場合grid
、Razor 構文を使用する場合、なぜ@
行の前に右が必要なのgrid.GetHtml();
ですか?
例 -
@{
var grid = new WebGrid(Model);
@grid.GetHtml();
}
で囲むだけで十分ではありませんgrid.GetHtml();
か@{ }
?
ありがとう!
@{} を使用して、変数「グリッド」を宣言するなど、コードの一部を実行するように指定します。
@ がない 2 行目では、構文的にサポートされていない文字列に等しいステートメントだけが残ります。
@ を使用すると、その行は次のように変換されます。
Response.Write(grid.GetHtml());
あなたがしたことはRazorビューエンジンで完全にサポートされており、別の方法で実行できない場合がありますが、より具体的にすることをお勧めします:
@{
var grid = new WebGrid(Model);
}
@grid.GetHtml();
そのため、コードを出力から明確に分離します。コード/ビューの読みやすさを向上させるのは理にかなっていると思います。
@ を使用することは、ページに何かを印刷/書き込むようなものです。
grid.GetHtml()
必要な文字列を生成しますが、この関数は生成された html を印刷することについて何も考えていません。これを行うには、このように書く必要があります
@grid.GetHtml()
ステートメントの前に @ を付ける必要がないヘルパーがいくつかあります。
例えば
Html.RenderPartial()
MVC は生成された html を応答ストリームに書き込むためです。したがって、ここでこのステートメントを含める必要があります
@{ }
ブロックによっては HTML が返される場合があり、"@" を使用して print を呼び出す必要があります。