Ошибка Razor RenderSection, если не определена

Используя @RenderSection("SectionName", false), зачем мне явно устанавливать второй параметр в false, когда Intellisense уже заявляет, что значение по умолчанию false?

Update: is the tool tip wrong?

Ответы

Ответ 1

Подпись RTM метода RenderSection:

public HelperResult RenderSection(string name, bool required)

Также существует переопределение, которое выглядит так:

public HelperResult RenderSection(string name) {
    return RenderSection(name, required: true);
}

Обратите внимание, что этот метод больше не использует параметры по умолчанию, вместо этого выбирает явные переопределения.

Подпись этого метода дважды менялась при разработке MVC 3, что объясняет, почему вы можете видеть запутывающие примеры.

Изменить. Похоже, что документация RTM MVC 3 неверна и ошибочно ссылается на значение по умолчанию параметра required.

Ответ 2

это должно быть правдой. Вы говорите, что раздел является необязательным.

@RenderSection ( "SectionName", true)

или @RenderSection ( "SectionName", необязательный: true)