ASP.NET MVC - Стили и макет



Чтобы изучить ASP.NET MVC, мы создадим интернет-приложение.

Часть 3: Добавление стилей и единого внешнего вида (макета).


Добавление макета

Файл _Layout.cshtml представляет макет каждой страницы в приложении. Он находится в папке Shared внутри папки Views.

Откройте файл _Layout.cshtml и замените его содержимое на:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>@ViewBag.Title</title>
<link href="@Url.Content("~/Content/Site.css")" rel="stylesheet" type="text/css" />
<script src="@Url.Content("~/Scripts/jquery-1.5.1.min.js")"></script>
<script src="@Url.Content("~/Scripts/modernizr-1.7.min.js")"></script>
</head>
<body>
<ul id="menu">
<li>@Html.ActionLink("Главная", "Index", "Home")</li>
<li>@Html.ActionLink("Фильмы", "Index", "Movies")</li>
<li>@Html.ActionLink("О проекте", "About", "Home")</li>
</ul>
<section id="main">
@RenderBody()
<p>Copyright EXAMPLE 2012. Все права защищены.</p>
</section>
</body>
</html>

HTML-помощники

В приведённом выше коде HTML-помощники используются для изменения HTML-вывода:

@Url.Content() — здесь будет вставлено содержимое URL.

@Html.ActionLink() — здесь будут вставлены HTML-ссылки.

В последующих главах этого руководства вы узнаете больше об HTML-помощниках.


Синтаксис Razor

В приведённом выше коде код, отмеченный красным, — это C# с использованием разметки Razor.

@ViewBag.Title — здесь будет вставлен заголовок страницы.

@RenderBody() — здесь будет отображено содержимое страницы.

Вы можете в нашемруководстве по Razorузнать о разметке Razor для C# и VB (Visual Basic).


Добавление стилей

Таблица стилей приложения — это Site.css, расположенный в папке Content.

Откройте файл Site.css и замените его содержимое на:

body
{
font: "Trebuchet MS", Verdana, sans-serif;
background-color: #5c87b2;
color: #696969;
}
h1
{
border-bottom: 3px solid #cc9900;
font: Georgia, serif;
color: #996600;
}
#main
{
padding: 20px;
background-color: #ffffff;
border-radius: 0 4px 4px 4px;
}
a
{
color: #034af3;
}
/* Стили меню ------------------------------*/
ul#menu
{
padding: 0px;
position: relative;
margin: 0;
}
ul#menu li
{
display: inline;
}
ul#menu li a
{
background-color: #e8eef4;
padding: 10px 20px;
text-decoration: none;
line-height: 2.8em;
/*CSS3 свойства*/
border-radius: 4px 4px 0 0;
}
ul#menu li a:hover
{
background-color: #ffffff;
}
/* Стили форм ------------------------------*/
fieldset
{
padding-left: 12px;
}
fieldset label
{
display: block;
padding: 4px;
}
input[type="text"], input[type="password"]
{
width: 300px;
}
input[type="submit"]
{
padding: 4px;
}
/* Стили данных ------------------------------*/
table.data
{
background-color:#ffffff;
border:1px solid #c3c3c3;
border-collapse:collapse;
width:100%;
}
table.data th
{
background-color:#e8eef4;
border:1px solid #c3c3c3;
padding:3px;
}
table.data td
{
border:1px solid #c3c3c3;
padding:3px;
}


Файл _ViewStart

Файл _ViewStart в папке Shared (расположенной в папке Views) содержит следующее содержимое:

@{Layout = "~/Views/Shared/_Layout.cshtml";}

Этот код автоматически добавляется во все представления, отображаемые приложением.

Если вы удалите этот файл, необходимо добавить эту строку кода во все представления.

В следующих главах этого руководства вы узнаете больше о представлениях.


Другие расширения