左侧的导航菜单,ASP.NET Core razor页面应用程序中的关闭和打开按钮

问题描述 投票:0回答:1

我正在为我的应用程序使用剃刀页面。我试图将导航菜单从上到左移动。我按照此链接how to create sidebar menu in bootstrap that stays?中提到的步骤进行操作,因为我希望我的菜单与该链接完全一致。但我无法达到结果。链接中提到了一些关于simple-sidebar.css的内容,但我想知道应该将哪些内容添加到我的剃刀页面项目中。我应该做什么更改将导航菜单从上到左移动,如我提到的链接所示,因为它不适用于我的剃刀页面项目?由于我是剃刀页面的新手,因此详细说明非常有用。我的“_Layout.cshtml”中的代码如下所示。请帮我解决这个问题。

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>@ViewData["Title"] - Sample</title>

<environment include="Development">
    <link rel="stylesheet" href="~/lib/bootstrap/dist/css/bootstrap.css" />
    <link rel="stylesheet" href="~/css/site.css" />
</environment>
<environment exclude="Development">
    <link rel="stylesheet" 
href="https://ajax.aspnetcdn.com/ajax/bootstrap/3.3.7/css/bootstrap.min.css"
          asp-fallback-href="~/lib/bootstrap/dist/css/bootstrap.min.css"
          asp-fallback-test-class="sr-only" asp-fallback-test- 
property="position" asp-fallback-test-value="absolute" />
    <link rel="stylesheet" href="~/css/site.min.css" asp-append- 
version="true" />
</environment>
</head>
<body>
<nav class="navbar navbar-inverse navbar-fixed-top">
    <div class="container">
        <div class="navbar-header">
            <a asp-page="/Index" class="navbar-brand">Home</a>
            <a asp-page="/Pinpad" class="navbar-brand">Pinpad</a>
        </div>
    </div>
</nav>
<div class="container body-content">
    @RenderBody()
    <footer></footer>
</div>

<environment include="Development">
    <script src="~/lib/jquery/dist/jquery.js"></script>
    <script src="~/lib/bootstrap/dist/js/bootstrap.js"></script>
    <script src="~/js/site.js" asp-append-version="true"></script>
</environment>
<environment exclude="Development">
    <script src="https://ajax.aspnetcdn.com/ajax/jquery/jquery-2.2.0.min.js"
            asp-fallback-src="~/lib/jquery/dist/jquery.min.js"
            asp-fallback-test="window.jQuery"
            crossorigin="anonymous">
    </script>
    <script 
 src="https://ajax.aspnetcdn.com/ajax/bootstrap/3.3.7/bootstrap.min.js"
            asp-fallback-src="~/lib/bootstrap/dist/js/bootstrap.min.js"
            asp-fallback-test="window.jQuery && window.jQuery.fn && 
 window.jQuery.fn.modal"
            crossorigin="anonymous">
    </script>
    <script src="~/js/site.min.js" asp-append-version="true"></script>
</environment>

@RenderSection("Scripts", required: false)
</body>
</html>
css asp.net-core razor-pages
1个回答
1
投票
  1. qazxsw poi可以在[GitHub(qazxsw poi)和qazxsw poi上找到。请参阅上面发布的答案的评论。
  2. 只需下载lib并将simple-sidebar.css复制到https://github.com/BlackrockDigital/startbootstrap-simple-sidebar

现在你可以在布局中添加一个链接:

official site

simple-sidebar.css是一个死的简单css lib,它只需要传统方式的html结构。

wwwroot/lib/simple-sidebar/css/simple-sidebar.css

并添加一个<link rel="stylesheet" href="~/lib/simple-sidebar/css/simple-sidebar.css"> 以显示导航按钮和左侧:

simple-sidebar

最后,要切换侧边栏,绑定一个函数来处理事件:

<!-- your nav on top  -->
<nav class="navbar navbar-inverse navbar-fixed-top">
    <div class="container">
        <div class="navbar-header">
            <a asp-page="/Index" class="navbar-brand">Home</a>
            <a asp-page="/Pinpad" class="navbar-brand">Pinpad</a>
        </div>
    </div>
</nav>

<div id="wrapper" class="toggled">

    <!-- you nav on left side -->
    <div id="sidebar-wrapper">
        <a id="menu-toggle" href="#menu-toggle" class="btn btn-secondary">三</a>
        <ul class="sidebar-nav"style="margin-top:15px;">
            <li class="sidebar-brand">
                <a asp-page="/Index" class="navbar-brand">Home</a>
            </li>
            <li>
                <a asp-page="/Pinpad" class="navbar-brand">Pinpad</a>
            </li>
        </ul>
    </div>

    <!-- your main body here -->
    <div id="page-content-wrapper">
        <div class="container-fluid">
            @RenderBody()
        </div>
        <footer></footer>
    </div>
</div>

这是一个截图:

style

这是完整的代码清单:

<style>
    #wrapper #sidebar-wrapper{
        width: 50px;
    }

    #wrapper .sidebar-nav{
        display:none;
    }

    #wrapper.toggled .sidebar-nav{
        display:block;
    }

    a#menu-toggle {
        display:inline-block;
        width: 100%;
        line-height:100%;
        padding:0;
        margin:0;
        color: dodgerblue;
    }
</style>
© www.soinside.com 2019 - 2024. All rights reserved.