好的,因为你不会具体让我们考虑一个场景
您在每个页面上都有一些您想要的数据让我们定义它
// pretend it comes from your database or where ever
var somedata = Guid.NewGuid();
我们如何在布局的导航栏中获得它
好吧,在每个控制器操作方法中,您都可以这样做
public ActionResult Index(AssessorSearchRecordSearchViewModel model)
{
ViewBag.SomeData = Guid.NewGuid();
return View();
}
然后在您的视图中以标题显示它
<h1>@ViewBag.SomeData</h1>
但这会很烦人,而且改变起来很脆弱
你可以为你的控制器创建一个基类
public abstract class AppBaseController : Controller
{
protected override void OnActionExecuting(ActionExecutingContext filterContext)
{
base.OnActionExecuting(filterContext);
ViewBag.SomeData = Guid.NewGuid();
}
}
这将使它在所有操作方法中都可用
这是一个例子,但实际上有几十种方法可以使数据可用。