На вашей главной странице создайте следующий заполнитель внутри раздела <head>
.
Мастер страницы
<asp:ContentPlaceHolder ID="HeadContent" runat="server"></asp:ContentPlaceHolder>
Затем внутри вашегоВ контроллере вы должны определить список файлов .css, которые будут использоваться, а также создать строку, которую представления могут использовать, чтобы легко разместить содержимое внутри страницы.Вот то, что я использовал.
Контроллер
public ActionResult Index()
{
ViewData["Message"] = "Welcome to ASP.NET MVC!";
List<string> css = new List<string>()
{
"one.css",
"two.css",
"three.css",
"four.css"
};
IList<string> cssTags = new List<string>();
StringBuilder cssTag = new StringBuilder();
css.ForEach(c =>
{
cssTag.AppendLine(string.Format(@"<link href=""{0}"" rel=""stylesheet"" type=""text/css"" />", HttpUtility.HtmlEncode(c)));
});
ViewData["css"] = cssTag.ToString();
return View();
}
Тогда внутри вашего взгляда просто поместите следующее
Вид
<asp:Content ID="headContent" ContentPlaceHolderID="HeadContent" runat="server">
<%= ViewData["css"] %>
</asp:Content>
Причина, по которой я строю список .css внутри контроллера, а затем создаю строку, используемую представлением, заключается в том, что я хочу, чтобы представления были как можно более глупыми.Можно было бы просто поместить список файлов .css в саму ViewData
, а затем позволить представлению выполнить цикл и создать тег link
, но лучше сделать это в другом месте, если это возможно.
Другой вариант использования ViewData
- использовать строго типизированное представление со строковым свойством, а затем представление просто отбирает этого парня.Лично я не пользуюсь ViewData
словарем.Вместо этого все мои взгляды строго напечатаны.