0

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

我现在想做的就是在我的起始页上有它。我从一开始的设置。你有一个主布局。我想使用我自己的“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 作为我的起始页。

4

1 回答 1

0

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

@attribute [Microsoft.AspNetCore.Authorization.Authorize]

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

希望这有效...

于 2020-05-07T22:10:12.133 回答