Я борюсь с тем, что может показаться очень простой концепцией. Если у меня есть значение в ViewBag, предназначенное для использования моим _Layout.cshtml, как и где мне установить это значение?
Вот наиболее очевидные (для меня) варианты, какими я их сейчас вижу:
Например:
_Layout.cshtml
<!DOCTYPE html>
<html>
<head runat="server">
<title>@ViewBag.Title</title>
</head>
<body>
<div id="header">
<h1>Welcome @ViewBag.UserName</h2>
</div>
<div id="content">
@RenderBody()
</div>
</body>
</html>
Если каждый контроллер устанавливает значение UserName, это не очень СУХОЙ. Если бы я решал эту проблему с помощью чего-то вроде CodeIgniter, я бы просто создал свой собственный базовый контроллер для обработки этих общих элементов и пошел бы своим веселым путем. Есть ли более предпочтительный вариант с ASP.NET MVC 3?