如何在 razor pages 应用程序中安装和引用 bootstrap 版本 5

How to install and reference bootstrap version 5 in razor pages app

我怀疑这很简单,但是我搜索了一下并没有发现and/or没看懂。我正在开发一个 Razor Pages 应用程序来学习 Web 开发,我正在尝试在 _Layout.cshtml 中放置一个导航栏,但是虽然它的默认声明工作正常,但如果我将其更改为“navbar-inverse " bootstrap class 那么它就不再起作用了。心想会不会是bootstrap的版本,于是安装了最新的(bootstrap5)作为Nuget包。我现在需要的是如何在我的 _Layout.cshtml 文件中引用 bootstrap 的新版本 5(

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>@ViewData["Title"] - WebAppPersonas</title>
    <link rel="stylesheet" href="~/css/bootstrap.css" />
    <link rel="stylesheet" href="~/css/site.css" />
    <script src="~/lib/jquery-ui-1.12.1.custom/external/jquery/jquery.js"></script>
    <script src="~/js/bootstrap.js"> </script>
    @RenderSection("Head", false)
</head>
<body>
    <script src="~/lib/bootstrap/dist/js/bootstrap.bundle.min.js"></script>
    <script src="~/js/site.js" asp-append-version="true"></script>
    <header>
        <nav class="navbar navbar-inverse">
            <div class="container">
                <a class="navbar-brand" asp-area="" asp-page="/Index">WebAppPersonas</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-page="/Index">Home</a>
                        </li>
                        <li class="nav-item">
                            <a class="nav-link text-dark" asp-area="" asp-page="/Privacy">Privacy</a>
                        </li>
                    </ul>
                </div>
            </div>
        </nav>
    </header>
    <div class="container">
        <main role="main" class="pb-3">
            @RenderBody()
        </main>
    </div>

    <footer class="border-top footer text-muted">
        <div class="container">
            &copy; 2021 - WebAppPersonas - <a asp-area="" asp-page="/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>

    @await RenderSectionAsync("Scripts", required: false)
</body>
</html>

提前致谢 巴勃罗

我用的js和css如下showa,可以用:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>@ViewData["Title"] - WebAppPersonas</title>
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css">
    <link rel="stylesheet" href="~/css/site.css" />
    @RenderSection("Head", false)
</head>
<body>
    <script src="~/lib/bootstrap/dist/js/bootstrap.bundle.min.js"></script>
    <script src="~/js/site.js" asp-append-version="true"></script>
    <header>
        <nav class="navbar navbar-inverse">
            <div class="container-fluid">
                <div class="navbar-header">
                    <a class="navbar-brand" asp-area="" asp-page="/Index">WebAppPersonas</a>
                </div>
                <ul class="nav navbar-nav">
                    <li><a class="nav-link text-dark" asp-area="" asp-page="/Index">Home</a></li>
                    <li><a class="nav-link text-dark" asp-area="" asp-page="/Privacy">Privacy</a></li>
                </ul>
            </div>
        </nav>
    </header>
    <div class="container">
        <main role="main" class="pb-3">
            @RenderBody()
        </main>
    </div>

    <footer class="border-top footer text-muted">
        <div class="container">
            &copy; 2021 - WebAppPersonas - <a asp-area="" asp-page="/Privacy">Privacy</a>
        </div>
    </footer>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/js/bootstrap.min.js"></script>
    <script src="~/js/site.js" asp-append-version="true"></script>

    @await RenderSectionAsync("Scripts", required: false)
</body>
</html>

结果:

从 nuget 使用 bootstrap 时,您可以使用解决方案资源管理器查看 nuget 文件所在的位置。单击 Dependencies > Packages > bootstrap > Content Files

在下方您应该会看到 links,如下图所示:any/any/wwwroot/css/bootstrap.css。由于 asp.net 核心在 wwwroot 文件夹中默认存储和查找静态文件作为根文件夹,因此您的 css link 将如下所示:

<link rel="stylesheet" href="~/css/bootstrap.css" />

js 文件的模拟:

<script src="~/js/bootstrap.bundle.min.js"></script>

如果右键单击项目并从上下文菜单中选择“添加”,则可以选择“添加客户端库”。

您可以从那里选择提供商和图书馆。安装后,它们将在项目的 wwwroot 目录中可用。