簡體   English   中英

僅在特定視圖的HTML標記中添加屬性?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM