MVC Framework - макеты

Макеты используются в MVC для обеспечения единообразия внешнего вида на всех страницах нашего приложения. Это то же самое, что и определение главных страниц, но MVC предоставляет некоторые дополнительные функции.

Создать макеты MVC

Step 1 - Создайте образец приложения MVC с Интернет-приложением в качестве шаблона и создайте папку Content в корневом каталоге веб-приложения.

Step 2- Создайте файл таблицы стилей с именем MyStyleSheet.css в папке CONTENT. Этот файл CSS будет содержать все классы CSS, необходимые для согласованного дизайна страницы веб-приложения.

Step 3 - Создайте общую папку под папкой просмотра.

Step 4- Создайте файл MasterLayout.cshtml в общей папке. Файл MasterLayout.cshtml представляет макет каждой страницы в приложении. Щелкните правой кнопкой мыши общую папку в обозревателе решений, затем перейдите в раздел «Добавить» и нажмите «Просмотр». Скопируйте следующий код макета.

Код макета

<!DOCTYPE html> 

<html lang = "en"> 
   <head> 
      <meta charset = "utf-8" /> 
      <title>@ViewBag.Title - Tutorial Point</title> 
      <link href = "~/favicon.ico" rel = "shortcut icon" type = "image/x-icon" />
      <link rel = "stylesheet" href = "@Url.Content("~/Content/MyStyleSheet.css")" />
   </head> 
   
   <body> 
      <header> 
         
         <div class = "content-wrapper"> 
            <div class = "float-left"> 
               <p class = "site-title"> 
                  @Html.ActionLink("Tutorial Point", "Index", "Home")
               </p> 
            </div> 
            
            <div class = "float-right">
               <nav> 
                  <ul id = "menu"> 
                     <li>@Html.ActionLink("Home", "Index", "Home")</li> 
                      <li>@Html.ActionLink("About", "About", "Home")</li>
                  </ul> 
               </nav> 
            </div> 
         </div> 
      
      </header>
      <div id = "body"> 
         @RenderSection("featured", required: false) 
         <section class = "content-wrapper main-content clear-fix"> 
            @RenderBody() 
         </section> 
      </div>
      
      <footer>
         <div class = "content-wrapper">
            <div class = "float-left"> 
               <p>© @DateTime.Now.Year - Tutorial Point</p> 
            </div> 
         </div> 
      </footer>
   
   </body>
</html>

В этом макете мы используем вспомогательный метод HTML и некоторые другие системные методы, поэтому давайте рассмотрим эти методы один за другим.

  • Url.Content()- Этот метод определяет путь к любому файлу, который мы используем в нашем коде просмотра. Он принимает виртуальный путь в качестве входных данных и возвращает абсолютный путь.

  • Html.ActionLink()- Этот метод отображает HTML-ссылки, которые указывают на действие некоторого контроллера. Первый параметр указывает отображаемое имя, второй параметр указывает имя действия, а третий параметр указывает имя контроллера.

  • RenderSection() - Задает имя раздела, который мы хотим отобразить в этом месте в шаблоне.

  • RenderBody() - Отображает фактическое тело связанного представления.

Step 5 - Наконец, откройте файл _ViewStart.cshtml внутри папки Views и добавьте следующий код -

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

Если файл отсутствует, вы можете создать файл с этим именем.

Step 6 - Запустите приложение сейчас, чтобы увидеть измененную домашнюю страницу.