Нажатие кнопки ASP.NET вызывается после загрузки главной страницы при попытке создать сеанс - PullRequest
0 голосов
/ 26 марта 2019

Я пытаюсь создать сеанс, когда пользователь нажимает кнопку.Я хочу обновить элементы управления на странице master.aspx после создания сеанса с помощью кнопки входа в систему.Однако master.aspx page_load вызывается до нажатия кнопки.Любые идеи о том, как я мог бы обойти это?

Default.aspx.cs

protected void ButtonLoginIn_Click(object sender, EventArgs e)
{
    Session["username"] = "Joe";
}

Master.aspx.cs

protected void Page_Load(object sender, EventArgs e)
{
    if (Session["username"] == null)
    {
        LinkLoginInOut.Text = "Sign In";
    }
    else
    {
        string sessionId = Session["username"].ToString();
        LabelDbUserName.Text = "Joe";
        LinkLoginInOut.Text = "Log Out";
    }
}

Ответы [ 2 ]

1 голос
/ 27 марта 2019

Вы можете просто использовать FindControl на Master

LinkButton lb = Master.FindControl("LinkButton1") as LinkButton;
lb.Text = "LinkButton Master";
0 голосов
/ 26 марта 2019

Вы можете попытаться переместить код в событии Page_Load главной страницы в событие, которое вызывается после события button_click. Таким образом, изменения в сеансе происходят до обновления главной страницы. Вы можете попробовать событие Page_LoadComplete. Пожалуйста, проверьте документацию "жизненного цикла страницы asp.net" для последовательности, в которой вызываются различные события страницы.

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