1

ASP.NET MVC 3 では、レイアウトで定義されていないビューでセクションを定義すると、例外がスローされます。ビューからセクションオプションをマークする方法はありますか?

4

3 に答える 3

1

レイアウトで定義されていないビューでセクションをレンダリングすることはできません。

レイアウトは抽象クラスであり、ビューは具体的な実装であると想定できます。レイアウトで定義されたセクションは、ビューで実装される抽象メソッドに他なりません。

したがって、レイアウトで定義されていないセクションをビューに追加することは、存在しない抽象メソッドを実装するようなものです。ビューでセクションを定義すると、具体的なクラスに抽象メソッドを追加するようなものになり、ビューがレイアウトに変更されます。これがあなたの質問に答えることを願っています。

于 2012-06-08T04:22:20.743 に答える
1

確かにRenderSection、セクションが必要かどうかを定義する 2 番目のパラメーターを取るメソッドのオーバーロードがあります。

@RenderSection("javascript", false)
于 2012-06-07T20:30:41.310 に答える
0
@RenderSection("SomeSection", false)
@if (!IsSectionDefined("SomeSection")) { }

2 番目の部分は必須ではありませんが、利用できない場合にデフォルトで何かを実行したい場合に使用します。

于 2012-06-07T20:31:54.413 に答える