#c# #asp.net
#c# #asp.net
Вопрос:
Я хотел бы иметь возможность динамически изменять ссылку на своей странице в зависимости от того, вошел пользователь в систему или нет.
Итак, на домашней странице при первой загрузке пользователь может щелкнуть ссылку на страницу входа в систему, и она направляет их туда для входа в систему. После входа в систему id хотел бы изменить текст на «выход из системы», что я могу сделать в данный момент. Но когда пользователь нажимает на ту же ссылку, он переходит на страницу входа в систему. Мне нравится, чтобы эта ссылка менялась в зависимости от того, зарегистрирована моя переменная сеанса или нет.
Итак, приведенный ниже код изменяет текст для меня, как только пользователь входит в систему и перенаправляет на домашнюю страницу. Как я могу изменить этот сеанс, потому что, когда они снова нажимают на ссылку входа, они выходят из системы, например’Session [«LoggedIn»] = выйти из системы и снова изменить текст
Заранее спасибо
protected void Login_Click(object sender, EventArgs e)
{
Session["LoggedIn"] = emailTxtBx.Text;
Response.Redirect("~/UL/Home.aspx");
}
if (Session["LoggedIn"] != null)
{
loggedInLbl.Text = Session["LoggedIn"].ToString();
}
Ответ №1:
Пользовательские пакеты просмотра
в контроллере
protected void Login_Click(object sender, EventArgs e)
{
Session["LoggedIn"] = emailTxtBx.Text;
ViewBag.Message = "This is Login Message";
Response.Redirect("~/UL/Home.aspx");
}
в поле зрения
if (ViewBag.Message != null)
{
<div>
<span>
@ViewBag.Message
</span>
</div>
}
Пакет просмотра помогает передать сообщение в View, и вы можете использовать его для динамического создания метки
Ответ №2:
Я понял это.
If (Session["LoggedIn"] != null)
{
labelTxt.NavigateUrl = "~/webpage.aspx";
labelTxt.Text = "LoggedIn";
}