none
asp.net calendar a postback

    Dotaz

  • Dobrý den,

    Dostal jsem se do problémů s defaultním kalendářem v asp.net. Mám dva listboxy na které mám nastavené autopostback true tak, že první vybere jednu položku a druhý následně díky prvnímu listboxu vybere další položku. No a teď k problému. V tom druhém listboxu mám také nastavený autopostback true a při kliknutí na položku v tom listboxu se mi v kalendaři disablujou(hrozné slovo:)) dny. Tohle vše funguje do té doby než začnu v kalendáři listovat nebo vyberu nějaké datum. Kalendář pošle postback a všechny disablované dny jsou nenávratně pryč. 

    Otázka tedy zní :  dá se tomu nějak zamezit? Zkoušel jsem i různé asp.net ajax kalendáře, ale buď u nich nebylo možné dny disablovat - nebyla tam metoda DayRender a nebo to sice šlo, ale ve finále se to chovalo stejně jako asp.net calendar.

    Už jsem docela zoufalý - dokonce jsme přemýšleli i o nákupu nějakého komerčního řešení, pokud by tedy jeho cena byla "lidová" takže cca do 5-6k Kč


    Za každou radu budu velice vděčný :-) 
    2. února 2009 14:35

Odpovědi

  • Dobrý den,

    nejsem si sice zcela jist, jestli sem Vás pochopil správně, ale podle toho co píšete. Prvním listboxem v SelectedIndexChange si nastavíte položky druhého lisboxu. Druhým listboxem, si v SelectetIndexChange nastavíte nějakou proměnou. Na základě této proměnné překreslíte v DayRender kalendář. To je OK.
    Když ale teď uživatel klikne na něco v kalendáři a tím udělá postback. Kalendář se vykreslí špatně. To je způsobeno tím, že hodnota proměnné ve třídě stránky nepřežije mezi dvěmi požadavky a je tam hodnota výchozí. Tím se kalendář vykreslí špatně už v DayRender. Pokud sem se tedy teorií o proměnné trefil, postačí Vám v DayRender používat hodnotu druhého listboxu, nebo si proměnnou připravit vždy třeba v PageLoad, nebo jí ukládat do ViewState.
    Petr Barták
    .Net developer
    www.uzuzu.cz
    2. února 2009 17:55