Я переезжаю в область ASP.Net MVC и мне нужны некоторые мысли / советы по архитектуре. В моем текущем приложении веб-форм ASP.Net я использую подход с вложенной главной страницей. У меня есть главный мастер сайта, который раскрывает все общие функциональные возможности и элементы макета сайта. Затем у меня есть набор других главных страниц, которые наследуют от Главного мастера специальные функции для этих разделов. Примерами этих вложенных главных страниц являются: главная страница для модальных всплывающих окон и макет типа рабочего стола для большей части сайта.
Часть моей архитектуры для приложения заключается в том, что ссылки на 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 или есть лучший способ сделать это?