如何将 cshtml 与 _layout.razor 连接

How to connect cshtml with a _layout.razor

关于我的问题。当您创建 Blazor 服务器端应用程序时。您可以选择使用个人使用帐户。然后 Blazor 会为您创建所有这些。 我对文件“Login.cshtml”

的设计做了一些改动

我现在想做的,就是把它放在我的起始页上。我是从一开始的设置。你有一个 Mainlayout。我想用我自己的 "LoginLayout".

但问题是我的 Login.cshtml 不适合 LoginLayout.razor

在这里,您可以看到文件的外观。这是从 Blazor 生成的。

@page
@model LoginModel


@{
    ViewData["Title"] = "Log in";
}

<div class="row">
    <div class="col-md-4">
        <section>
            <form id="account" method="post">
              <div asp-validation-summary="All" class="text-danger"></div>
                <div class="form-group">
                    <label asp-for="Input.Email"></label>
                    <input asp-for="Input.Email" class="form-control" />
                    <span asp-validation-for="Input.Email" class="text-danger"></span>
                </div>
                <div class="form-group">
                    <label asp-for="Input.Password"></label>
                    <input asp-for="Input.Password" class="form-control" />
                    <span asp-validation-for="Input.Password" class="text-danger"></span>
                </div>
                <div class="form-group">
                    <div class="checkbox">
                        <label asp-for="Input.RememberMe">
                            <input asp-for="Input.RememberMe" />
                            @Html.DisplayNameFor(m => m.Input.RememberMe)
                        </label>
                    </div>
                </div>
                <div class="form-group">
                    <button type="submit" class="btn btn-primary btn-lg btn-block">Log in</button>
                </div>
            </form>
        </section>
    </div>
</div>

@section Scripts {
    <partial name="_ValidationScriptsPartial" />
}

我想得到帮助,所以我可以使用这个 login.cshtml 作为我的起始页。

只需将以下代码放在 _Host.cshtml

的顶部
@attribute [Microsoft.AspNetCore.Authorization.Authorize]

注意:您无法在 Blazor 中显示登录页面(MainLayout 等) 登录页面是一个 Razor 页面。它不能与 开拓者。上面的属性启动到登录页面的重定向, 它以自己的布局显示。这不是 Blazor。 这是 Razor 页面。只有在用户登录后,才会
重定向到 Blazor 应用程序。

希望这能奏效...