2011-08-11 36 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