Вход из общего макета как частичное представление или просмотр компонента - PullRequest
0 голосов
/ 10 июня 2019

У меня есть опция входа в общий макет заголовка.Цель состоит в том, чтобы пользователь нажимал на учетные данные, заполняет учетные данные и нажимает кнопку, информация будет сохранена в сеансе, страница будет обновлена ​​и вместо входа будет отображаться значок профиля пользователя и т. Д.

Я разместил код HTML / бритвы для формы входа и значок профиля в отдельных текстовых файлах.И создал частичное представление с этим кодом

<ul class="auth__nav">
@Html.Raw(ViewBag.FormToShow)

Загрузка частичного просмотра Я хочу проверить переменные сеанса, если они имеют значения, затем получить код файла профиля или код формы входа, но это действиене называется

public PartialViewResult _SignIn()
    {
        string vFormtoShow = string.Empty;
        if (!string.IsNullOrEmpty(HttpContext.Session.GetString("Username")))
        {
            vFormtoShow = System.IO.File.ReadAllText("LogOutForm.txt");
        }
        else vFormtoShow = System.IO.File.ReadAllText("SignInForm.txt");

        ViewBag.FormToShow = vFormtoShow;

        return PartialView();
    }

1 Ответ

0 голосов
/ 10 июня 2019

Вместо использования .txt файлов вы можете использовать для этого (вложенные) партиалы.

В Views/Shared.

* может быть файл _LogOutForm.cshtml и файл _SignInForm.cshtml.1008 * Тогда у вас будет _UserAuth.cshtml частичное в той же папке:
@if (!string.IsNullOrEmpty(HttpContext.Session.GetString("Username"))) 
{
    <partial name="_LogOutForm"/>
}
else
{
    <partial name="_SignInForm"/>
}

Помощник тега <partial> отображает частичное представление по его имени (без расширения).

Я предлагаю вам попробовать ASP.NET Core Identity , которая является полноценной библиотекой для пользователей и аутентификации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...