2012-03-18 43 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(可能與基類或使用自定義過濾器組合)的其他「全局屬性」是正確的。