2013-11-15 2 views
0

Во-первых, это происходит в ASP.net MVC4 используя бритвумакет нужно быть оказаны перед частичным видом (MVC4)

Я в настоящее время есть макет, который я использую на всех страницах в растворе.

макет включает @RenderBody(), который загружает содержимое.

my index.cshtml включает частичный вид, и этот частичный вид требует некоторых данных, которые будут существовать только после выполнения кода в макете.

Я установил точки останова в начале частичного просмотра и в начале макета, а частичное визуализировано первым, любым способом изменить это?

ответ

2

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

Без дополнительной информации это действительно звучит как настоящая проблема, так это то, что эти данные будут существовать только после того, как макет предоставил. Представления (включая макет) должны действительно быть привязкой к уже обработанным данным. В представлении не должно быть дополнительной логики, ничего кроме того, что они были переданы в пользовательский интерфейс.

К тому времени, когда вы доберетесь до контроллера return View(), вся обработка бизнес-логики должна быть выполнена, и вы должны просто создавать пользовательский интерфейс из завершенной модели. Короче говоря, эта логика, которая находится в макете , вероятно, относится к модели.

+0

... или в контроллере. :) – CodeCaster

+0

@CodeCaster: Менее вероятно, но я полагаю возможным. Помните, однако, держите контроллеры светлыми, а модели тяжелыми. – David

+0

На эту тему написано более чем достаточно, и мне не нравится, что модели _view_ содержат слишком много логики. – CodeCaster

Смежные вопросы