2010-09-08 22 views

回答

0

在視圖輸出只需要添加一個jQuery客戶端腳本來做到這一點,這將運行一次你的網頁是拼湊起來的:

$('body').addClass('yourClass'); 

另一種方法是將類數據存儲在控制器中,如:

ViewData["MasterPageBodyClass"] = "yourClass"; 

然後在你的MasterPage視圖,你可以檢查的這個存及其如果存在添加:

<% 
    string bodyClass = ""; 
    if (ViewData["MasterPageBodyClass"] != null) 
    { 
     bodyClass = "class=\"" + ViewData["MasterPageBodyClass"].ToString() + "\""; 
    } 
%> 
<body <%= bodyClass %>> 

只有需要將該類附加到主體的控制器操作實際上需要將類存儲在ViewData中,其他操作都可以忽略它。

0

認爲一個簡單的解決方案是隻設置一個佔位符在主class屬性:

<body class='someOtherClass <asp:ContentPlaceHolder ID="BodyCssOverrides" runat="server" />' > 

然後在你的意見只是設置適當的類:

<asp:Content ContentPlaceHolderID="BodyCssOverrides" runat="server">yourBodyClass</asp:Content> 

無需腳本設置它或ViewData。

記得母版是一個模板,應該幫助你,而不是讓你的方式, 如果有什麼需要兩種視圖之間切換 - 使一個佔位符,它