2013-09-10 77 views
0

我正在使用剃鬚刀視圖引擎處理MVC應用程序。只在空間視圖的HTML標記中添加屬性?

HTML,Head和Body標籤放置在共享視圖_Layout.cshtml和其他視圖使用此作爲佈局。

雖然支持應用程序,但我需要在一些頁面中添加自定義屬性(而不是在所有頁面中)。如果我在佈局中添加屬性,它將出現在所有頁面中。您能否引導我如何添加屬性只能在所需的頁面中進行管理。

下面是我的HTML標籤屬性:

<html ng-app="business_rules"> 

回答

1

您可以創建你需要所有這些屬性,只是使用

@{ 
    Layout = "Path/To/Layout.cshtml"; 
} 

參照此佈局所需的網頁上頂部的佈局這些頁面。

對於其餘頁面,您將使用不具有這些屬性的不同佈局。

您也可以定義控制器的佈局。它可以做到如下:

public ActionResult Index() 
{ 
    MyMOdel model = new MyMOdel(); 
    //TO DO: 
    return View("Index", "_AdminLayout", model); 
} 
+0

謝謝,有沒有辦法在代碼中做到這一點? – Toubi

+0

@ user188129這是在代碼中,我猜?看我的更新 –

1

我會使用jQuery。只需添加網頁上,你需要下面的代碼此屬性:

<script> 
$(document).ready(function(){ 
$('html').attr("ng-app", "business_rules") 
}); 
</script> 
+0

這將是很好的添加屬性,但由於該屬性用於引導angularJs它需要在角落執行它的引導之前就位。 – Almund

0

我現在整個完全相同的問題來了,我想出了低於這個最佳的解決方案(我真的不希望完全添加單獨的佈局只是爲了body標籤上的一個屬性)。你有一對夫婦的建議,對asp net forums以及

我增加了一個項目視圖袋,(可能是過度)通用一個叫BodyAttributes:

ViewBag.BodyAttributes = "ng-app=\"moduleName\""; 

然後,我使這個純HTLM在身上的標籤

<body @Html.Raw(ViewBag.BodyAttributes)> 

這使您的佈局非特定頁面和角度不需要引導在每個視圖。另外,角度是否被引導,現在是從它所屬的視圖本身中控制的。