WebForms Zapamietanie stanu

0

Witam,
mam problem z zapamietaniem stanu poszczegolnych elementow na stronie.

W projekcie mam funckje:

protected void Page_Load(object sender, EventArgs e)
{

Session["Current_month"] = 0;
this.createSomething();
}

private void createSomething(){
// display Session["Current_month"];
}

protected void LinkButtonJanuary_Click(object sender, EventArgs e)
{
Session["Current_month"] = 1;
}

protected void LinkButtonFebruary_Click(object sender, EventArgs e)
{
Session["Current_month"] = 2;
}

Chciał bym, żeby po kliknięciu jednego z LinkButtonow (wywolanie funkcji LinkButtonJanuary lub LinkButtonFebruary_Click) wyswietlila sie wartosc Session["Current_month"] w funkcji createSomething()... lub inaczej, zeby funkcja createSomething() przyjela wartosc ostatnio kliknietego przycisku LinkButtonJanuary lub LinkButtonFebruary.

Jak dla mnie problem jest taki, ze najpierw jest wywolana funkcja Page_Load() a potem LinkButtonJanuary_Click() lub LinkButtonFebruary_Click().

Jak mozna to wszystko zrobic inaczej?

Ogólnie chciał bym, żeby po kliknięciu jakiegoś elementu (Linku) zapisane zostało coś w Session i pojawiła się ta sama strona z pobranymi ustawieniami z Session.
Na stronie głównej którą tworzę znajduje się ileś dynamicznie stworzonych kontrolek użytkownika tak więc z ustawień session będzie korzystała każda z nich.

Dzieki
Rafal

0
rsobczuk napisał(a)

Jak dla mnie problem jest taki, ze najpierw jest wywolana funkcja Page_Load() a potem LinkButtonJanuary_Click() lub LinkButtonFebruary_Click().

Tak dlatego:

protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)//Oznacza to ze co jest w klamrach zostanie wykonane tylko przy pierwszym zaladowaniu strony!!
{
Session["Current_month"] = 0;
}
this.createSomething();
}

http://msdn.microsoft.com/en-us/library/system.web.ui.page.ispostback.aspx

pozdr.

1 użytkowników online, w tym zalogowanych: 0, gości: 1