Как очистить сеанс в метке при нажатии на гиперссылку, которая также включена в метку - PullRequest
0 голосов
/ 17 марта 2011

У меня проблема с установкой моего сеанса обратно в логин. Вот мой код:

        `LabelUser.Text = "";

        if (Session["username"] != null)
        { 
            LabelUser.Text = "Welcome " + (String)Session["username"] + "!" + "<a href=/Account/Login.aspx>[Log out]</a>";
        }
        else
        {
            LabelUser.Text = "<a href=/Account/Login.aspx>[Log in]</a>";
        } `

Теперь в моем файле login.aspx.cs настроен сеанс, поэтому он проверяет администратора или пользователя, перенаправляет и заполняет сеанс именем пользователя. Моя проблема в том, что, когда я отлаживаю, он работает отлично, он показывает [Логин] и при нажатии перенаправляет меня на страницу входа. Я также могу войти без проблем, и он перенаправляет меня на страницы администратора или пользователя, и меняет ярлык на Welcome Имя пользователя! [Выйти]. Но когда я нажимаю кнопку «Выйти из системы», я выхожу из системы, но метка не меняется. Какие-нибудь советы? Я не знаю, работает ли он с параметрами в этом случае. Например:

`LabelUser.Text = "Welcome " + (String)Session["username"] + "!" + "<a href=/Account/Login.aspx?logoff=j>[Log out]</a>";
          `

Если это работает так, могу ли я получить какую-либо помощь о том, как работать с этим параметром? Заранее спасибо. Мати.

Ответы [ 2 ]

1 голос
/ 17 марта 2011

Изменить код следующим образом login.aspx? Val = logout

if (Session["username"] != null)
        { 
            LabelUser.Text = "Welcome " + (String)Session["username"] + "!" + "<a href='/Account/Login.aspx?val=logout'>[Log out]</a>";
        }
        else
        {
            LabelUser.Text = "<a href=/Account/Login.aspx>[Log in]</a>";
        }

Затем на событие загрузки страницы в коде страницы входа в систему для этого.

if(Request["val"] == "logout")
{
Session["username"] = null;
}

, а также установите учетные данные согласно вашему требованию

Но помните, это не правильный метод для кодирования для выхода из системы.

0 голосов
/ 17 марта 2011

Я не вижу 'или' вокруг ссылки попробуйте

<a href='/Account/Login.aspx?logoff=j'>

не

<a href=/Account/Login.aspx?logoff=j>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...