2011-08-11 39 views
0

我有一個「主」視圖(_MasterLayout.cshtml)傳遞值對CSS從嵌套Razor視圖,掌握視圖

這具有一個DIV,以「主」

<div id="main" class="xxx"> 
</div> 
的ID

在繼承自_MasterLayout.cshtml的視圖中,我需要能夠設置此div中類的值(例如,將其設置爲「產品頁面」)

我該如何實現此目的?

我想過使用ViewBag,這會工作 -

ViewBag.MainDivCSS = "product-page"; 

然而,這是一個等待發生的一個錯字。

有沒有更好的方法來做到這一點?

回答

1

如果您不必從子視圖頁面設置母版頁類,最好的辦法是。對我來說,如果這是關於嵌套部分,最好再添加一個div。與

<div id="child" class="product-page"> 

rest of child view here 

</div> 

環繞你的整個子視圖,你會得到

<div id="main"> 
    <div id="child" class="product-page"> 

    rest of child view here 

    </div> 
</div> 

但不管怎麼說,如果你想,一個選擇是通過JS做,在一個地方在子視圖

<script> 
    $(function(){ 
      $('#mainc').addClass('product-page'); 
    }); 
</script> 

我不喜歡強烈地查看由視圖模型攜帶並由控制器管理的特定數據,所以我更喜歡在這種情況下使用javascript方法。當然,你是對的,你不應該使用ViewBag