如何让MVC忽略未定义的部分?

时间:2012-06-07 20:25:04

标签: asp.net-mvc asp.net-mvc-3

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

3 个答案:

答案 0 :(得分:1)

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

@RenderSection("javascript", false)

答案 1 :(得分:1)

您无法在视图中渲染未在布局中定义的部分。

您可以假设布局是抽象类视图是具体实现。布局中定义的部分只是将在视图中实现的抽象方法。

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

答案 2 :(得分:0)

@RenderSection("SomeSection", false)
@if (!IsSectionDefined("SomeSection")) { }

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