Я действительно заставил это работать.Я ДОЛЖЕН работать с этими старыми виртуальными включениями, у меня не было выбора для компании.
Я сделал это в макете: мне в основном пришлось внедрить включения с помощью Response.WriteFile в место вверх по дереву каталогов.где включены были расположены.Эти списки используются для ВСЕХ веб-сайтов в нашей компании.Затем я использовал StringBuilder для создания содержимого в макете.Мне также пришлось поместить оператор @RenderBody в объект Response.
@using System.Text;
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Software that excels. Training that inspires. Build your company mobile presence on Android and Apple."/>
<meta name="title" content="Software that excels. Training that inspires. Build your company mobile presence on Android and Apple." />
<meta name="robots" content="index, follow" />
<meta name="keywords" content="software, training, Android, mobile, iOS, Apple, data, visualization" />
<title>@ViewBag.Title</title>
@Styles.Render("~/Content/css")
@Scripts.Render("~/bundles/modernizr")
<link rel="icon" href="~/Content/favicon3.ico" type="image/x-icon" />
</head>
<body>
@{
Response.Buffer = false;
Response.BufferOutput = false;
Response.WriteFile("../../includes/header.inc");
StringBuilder sb = new StringBuilder(4000);
sb.Append("<div class=\"container body-content\">");
sb.Append(@RenderBody());
sb.Append("<hr />");
sb.Append("<footer>");
sb.Append("<p>© @DateTime.Now.Year - Excellor Software</p>");
sb.Append("</footer>" + "</div>");
sb.Append("</div>");
Response.Write(sb.ToString());
sb.Clear();
sb = null;
Response.WriteFile("../../includes/footer.inc");
}
</body>
</html>