1

在 ASP.NET MVC 3 中,如果您在布局中未定义的视图中定义部分,则会引发异常。有没有办法从视图中标记部分选项?

4

3 回答 3

1

当然,有一个RenderSection方法的重载,它采用第二个参数来定义是否需要该部分:

@RenderSection("javascript", false)
于 2012-06-07T20:30:41.310 回答
1

您不能在布局中未定义的视图中呈现部分。

您可以假设layout 是一个抽象类,而view 是一个具体的实现。布局中定义的部分只不过是将在视图中实现的抽象方法。

因此,在视图中添加一个未在布局中定义的部分是一种实现甚至不存在的抽象方法。如果你在视图中定义一个部分,它就像向一个具体的类添加一个抽象方法,并将视图更改为一个布局。希望这能回答你的问题。

于 2012-06-08T04:22:20.743 回答
0
@RenderSection("SomeSection", false)
@if (!IsSectionDefined("SomeSection")) { }

第二部分不是必需的,但如果你想在默认情况下做某事,如果它不可用。

于 2012-06-07T20:31:54.413 回答