2012-03-18 45 views
1

我follwing踢关闭特定的JavaScript每一页上 http://viget.com/inspire/extending-paul-irishs-comprehensive-dom-ready-execution剃须刀 - 写唯一的标签为<body>

所以必须在每次写入一个唯一的数据属性为标签的页面加载此基于DOM的路由

eg

<body data-controller="Home" data-action="Index"> 

什么是最好的地方把这个逻辑的剃刀视图?

body标签位于我的母版页(_layout.cshtml)文件中。它需要动态地呈现每个页面

是一个基本的控制器思维压倒一切OnActionExecuting的并有注入电流控制器和动作名称到ViewBag。然后引用我_layout.cshtml

这是否有道理或有没有更合适的地方了这个功能ViewBag属性?

回答

1

你并不需要通过ViewBag传递数据(虽然也可以工作),而不是你可以在任何视图(甚至在布局)

<body 
    data-controller="@(ViewContext.RequestContext.RouteData.Values["controller"])" 
    data-action="@(ViewContext.RequestContext.RouteData.Values["action"])"> 
通过 ViewContext属性访问电流控制器和行动

用于设置ViewBagOnActionExecuting(可能与基类或使用自定义过滤器组合)的其他“全局属性”是正确的。