簡體   English   中英

ASP.Net MVC母版頁體系結構建議和動態CSS / JavaScript參考?

[英]ASP.Net MVC Master Page architecture advice and dynamic CSS / JavaScript references?

我正在進入ASP.Net MVC領域,並且需要有關體系結構的一些想法/建議。 在當前的ASP.Net Web窗體應用程序中,我使用的是嵌套母版頁方法。 我有一個主站點主站點,它公開了該站點的所有常用功能和布局元素。 然后,我還有一組其他母版頁,它們從“母版”母版繼承這些部分的公開特定功能。 這些嵌套母版頁的示例為:模態彈出窗口的母版頁和大多數站點的桌面類型布局。

我的應用程序體系結構的一部分是,可以將CSS和JavaScript / JQuery的版本動態地插入到母版或繼承的aspx頁中。 我創建了一個UI程序集,用於構建引用。 這是該項目的一些代碼:

/// <summary>
/// This is the class model for a css reference
/// </summary>
public class CssReference
{
    public string Href { get; set; }
    public TypeEnum Type { get; set; }

    public enum TypeEnum
    {
        TextCss
    }



}

//This is the collection in the Main Master
public List<CssReference> CssReferences
    {
       get;set;

    }

///this is how we would add to it from another inherited page or master
Master.CssReferences.AddRange(DefaultCssReferences());

我在主主頁上顯示了一個列表的公共屬性(UIReference引用了CSS或JavaScript引用類型)。 通過這種方式,可以從繼承的母版頁或實際的aspx頁中向該集合添加任何其他JS或CSS引用。

我的問題是,是否有人在ASP.Net MVC中做了與此類似的事情,還是有更好的方法呢?

我可能會通過擁有一個BaseController類來實現這一點,所有控制器都繼承了該類(繼承常規Controller類),然后在其中可以將CssReferences設置為ViewBag的屬性。

(有關ViewBag使用情況的信息: http ://davidhayden.com/blog/dave/archive/2011/01/19/ViewBagAspNetMvc3.aspx)

僅取決於您需要在哪里設置引用。

附帶說明一下 ,帶有Razor的MVC3允許以與ASP.NET Web窗體類似的方式嵌套布局。

_layout.cshtml具有RenderBody()函數

MyInnerLayout.cshtml將其Layout設置為_layout.cshtml,然后將其所有HTML呈現到_layout.cshtml具有RenderBody()函數的位置

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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