[英]adding attributes in HTML tag of specific views only?
我正在使用剃刀視圖引擎開發MVC應用程序。
HTML,Head和Body標簽放在共享視圖_Layout.cshtml中,其他視圖使用它作為布局。
在支持應用程序的同時,我需要在某些頁面中添加自定義屬性(不是在所有頁面中)。 如果我在布局中添加屬性,它將出現在所有頁面中。 您能否高興地指導我如何僅在所需頁面中管理添加屬性。
下面是我的帶有屬性的html標簽:
<html ng-app="business_rules">
您可以創建一個需要所有這些屬性的布局,並使用該布局引用所需的頁面
@{
Layout = "Path/To/Layout.cshtml";
}
在這些頁面的頂部。
對於其余頁面,您將使用不具有這些屬性的不同布局。
您也可以從控制器中定義布局。 它可以如下完成:
public ActionResult Index()
{
MyMOdel model = new MyMOdel ();
//TO DO:
return View("Index", "_AdminLayout", model);
}
我會用jquery。 只需在以下代碼中添加您需要此屬性的頁面:
<script>
$(document).ready(function(){
$('html').attr("ng-app", "business_rules")
});
</script>
我現在遇到了完全相同的問題,我想出的最佳解決方案如下(我真的不想為body標簽上的屬性添加完全獨立的布局)。 你在asp網絡論壇上也有一些建議
我在視圖包中添加了一個項目,一個名為BodyAttributes的(可能是過度的)通用名稱:
ViewBag.BodyAttributes = "ng-app=\"moduleName\"";
然后我在body標簽上用純htlm渲染它
<body @Html.Raw(ViewBag.BodyAttributes)>
這樣可以保持布局非頁面特定,並且不需要在每個視圖上引導角度。 此外,角度是否自動引導現在可以從它所屬的視圖本身內進行控制。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.