首页 > 解决方案 > 如何在 ASP.Net Core 5 中将共享代码添加到“_layout.cshtml”中

问题描述

在我的 .Net Core 2 应用程序布局中(见下文),有一个地方我想放置我的菜单。我可以把它放在那里,但我认为将菜单作为我刚刚添加的单独代码段会更好(请参阅下面我放置 MENU 的位置)。看不到如何做到这一点。这是一个好的设计模式(包括少量代码),如果是,我该怎么做?

感谢

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>@ViewData["Title"] - Scoular Wire Desk</title>
    <link rel="stylesheet" href="~/lib/bootstrap/dist/css/bootstrap.min.css" />
    <link rel="stylesheet" href="~/css/site.css" />
    <link rel="stylesheet" href="https://cdn.syncfusion.com/ej2/19.2.55/bootstrap.css" />
    <script src="https://cdn.syncfusion.com/ej2/19.2.55/dist/ej2.min.js"></script>

</head>
<body>
    <header>
        <nav class="navbar navbar-expand-sm navbar-toggleable-sm navbar-light bg-white border-bottom box-shadow mb-3">
            <div class="container">
                <a class="navbar-brand" asp-area="" asp-controller="Home" asp-action="Index">Scoular Wire Desk</a>
                <button class="navbar-toggler" type="button" data-toggle="collapse" data-target=".navbar-collapse" aria-controls="navbarSupportedContent"
                        aria-expanded="false" aria-label="Toggle navigation">
                    <span class="navbar-toggler-icon"></span>
                </button>
                <div class="navbar-collapse collapse d-sm-inline-flex flex-sm-row-reverse">
                    <ul class="navbar-nav flex-grow-1">
                        <li class="nav-item">
                            <a class="nav-link text-dark" asp-area="" asp-controller="Home" asp-action="Index">Home</a>
                        </li>
                        <li class="nav-item">
                            <a class="nav-link text-dark" asp-area="" asp-controller="Home" asp-action="Privacy">Privacy</a>
                        </li>
                    </ul>
                </div>
            </div>
        </nav>
    </header>

    <div style="min-height: 900px; background: radial-gradient(circle at top, #e7f4fc, #d4e3fe)">

        <div class="container">

        <div class="row">
            <div class="col-3">

                <br />
             MENU 


            </div>
            <div class="col-9">
                Datagrid
            </div>
        </div>

        <main role="main" class="pb-3">
            @RenderBody()
        </main>

    </div>

    </div>
        <footer class="border-top footer text-muted">
            <div class="container">
                &copy; @DateTime.Now.Year - Scoular Wire Desk - <a asp-area="" asp-controller="Home" asp-action="Privacy">Privacy</a>
            </div>
        </footer>
        <script src="~/lib/jquery/dist/jquery.min.js"></script>
        <script src="~/lib/bootstrap/dist/js/bootstrap.bundle.min.js"></script>
        <script src="~/js/site.js" asp-append-version="true"></script>
        <ejs-scripts></ejs-scripts>
        @RenderSection("Scripts", required: false)
</body>
</html>

标签: asp.net-core-5.0

解决方案


推荐阅读