сравнение значения переменной сеанса со строкой

Я сравниваю переменную сеанса со строкой, чтобы проверить, является ли тип входа администратором или нет.

Код, который я использую:

if (Session["loggedInUsername"] == null)
        {
            btnLogin.Text = "Sign In";
            lblWelcome.Text = "Welcome!";
            hypManageRestaurants.Enabled = false;
            hypManageReviews.Enabled = false;
            hypPostReviews.Enabled = false;

        }
        else
        {
            if (Session["loggedInUserType"] == "Administrator")
            {
                hypManageRestaurants.Enabled = true;
                hypManageReviews.Enabled = true;
                hypPostReviews.Enabled = true;
            }
            else
            {
                hypManageRestaurants.Enabled = false;
                hypManageReviews.Enabled = false;
                hypPostReviews.Enabled = true;
            }
            lblWelcome.Text = "Welcome " + Session["loggedInUsername"];

            btnLogin.Text = "Sign Out";
        }

Итак, сначала я проверяю, вошел ли какой-либо пользователь в систему или нет. Если пользователь входит в систему успешно, переменная сеанса «loggedInUsername» будет иметь значение имени пользователя. Если «loggedInUsername» переменная сеанса не пуста, она проверит переменную сеанса "loggedInUserType" на предмет типа вошедшего в систему пользователя.

Здесь начинается странная вещь, значение "loggedInUserType" точно "Администратор" без "", в функция if, в которой я сравниваю переменную сеанса со строкой «Администратор», пропускается и переходит к другому

Все переменные сеанса получают значения, когда пользователь входит в систему.

Ниже приведены данные, которые я используется для входа в систему, и эта запись является единственной записью, которая имеет тип "Администратор"

ссылка на изображение

Есть ли любой другой метод для сравнения переменной сеанса со строкой

5
задан drinu16 21 May 2012 в 14:14
поделиться