C# не работает на ASP. NET странице макета бритвы - PullRequest
0 голосов
/ 17 февраля 2020

У меня есть if / else на моей странице макета для аутентификации, содержащей Renderbody () или перенаправление.

@if (User.Identity.IsAuthenticated)
{
        @RenderBody()
}
else
{
    RenderBody();
    if (Context.Request.Path != "/accounts/login" && Context.Request.Path != "/accounts/signup")
    {
        <meta http-equiv="REFRESH" content="0; url=/accounts/login">
    }
    else
    {
            @RenderBody()
    }
}

Когда я запускаю свое приложение локально из VS, оно не работает. Например, если я ставлю точку останова в операторе if, он не активируется. Он пропустит C# и просто загрузит содержимое страницы. Даже html из макета загружается нормально. C# Я получил полное имя от пользователя в панели навигации также отлично работает. Только оператор if перестал работать правильно, и я не знаю почему. Вместо этого я попытался использовать промежуточное ПО для перенаправления, но Response.Redirect работает только в том случае, если за ним следует Response.StartAsyn c () и по какой-то причине StartAsyn c заставляет css и js перестать работать.

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