The Old Way: Dynamic Magic and Its Hidden Costs

Years ago, in ASP.NET MVC and Razor, we had a seductively quick tool for passing state to the UI: ViewBag.



// Controller
ViewBag.Role = "Admin";
ViewBag.CanEdit = true;
ViewBag.Theme = "Dark";
ViewBag.FeatureFlags = new[] { "beta_dashboard", "export_csv" };






And in the Razor...