ASP.NET - Jak na postback? – .NET – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

ASP.NET - Jak na postback? – .NET – Fórum – Programujte.comASP.NET - Jak na postback? – .NET – Fórum – Programujte.com

 

DeltaPi
~ Anonymní uživatel
2 příspěvky
18. 1. 2011   #1
-
0
-

Ahoj,

Dostal jsem se do problémů s postbackem. Stránka se přenačte jakoby celá i když je prvek se kterým se má pracovat umístěn v UpdatePanelu.

Jinak v celém projektu používam AjaxControlToolkit.

Nejprve uvedu ukázku a pak rozeberu blíže ten problém:

Mám stránku projekt ve kterém je jedna MasterPage.master a jedna ContentPage.aspx.

V MasterPage je pouze panel s informacema a menu (vytvořeno pomocí TreeView a SiteMap). Na tom panelu s informacema a na panelu s menu používám toolkit CollapsiblePanelExtender. Célé menu a panel s informacema mám zabalený v UpdatePanelu.

Na ContentPage mám tři vstupní pole. Jedno je vstupní pole DatumTextBox na něm mám CalendarExtender. Pak vstupní pole UkolDropDownList (jednotlivé prvky výběru do něj tahám z databáze). A ještě vstupní pole DelkaTextBox na něm mám NumericUpDownExtender.

Dále tam mám jedno tlačítko SpustitButton a jeden popisek DataLabel.

Toto celé mám opět zabaleno v dalším UpdatePanelu.

Chci aby když kliknu na SpustitButton byla spuštěna metoda OnClick a provedl se ASP.net C# kód, který načte do popisku DataLabel informaci ze sloupce Uspesnost z databáze a to za splnění podmínek obsažených v DatumTextBox, UkolDropDownList a DelkaTextBox.

Pak mám ještě napsaný kód v události OnLoad v ContentPage:

if (!IsPostBack)
{
DatumTextBox_CalendarExtender.SelectedDate = DateTime.Today;
}

To proto aby hned po spuštění stránky bylo v DatumTextBoxu vypsáno dnešní datum, ale jen pokud Je stránka přenačítána celá, tzn. ne při postbacku když kliknu na tlačítko Spustit Button.

A teď k mému problému :):

Při stisknutí tlačítka Spustit Button se vše vpořádku provede až na jednu maličkost. Ve vstupním poli DatumTextBox se opět objeví aktuální dnešní datum a ne to které jsem si tam ručně přenastavil a také se mi do DataLabelu vypíše hodota k aktuálnímu datu a ne k tomu které jsem nastavil.

Lze si všimnout, celá stránka ContentPage jaksi přeblikne, podobně jako když ccelou stránku refreshnete.

Z toho plne, že podmínka v Onload ContentPage if (!IsPostBack) je vždy true takže se přenačí tá celá stránka a nejen ten potřebný obsah.

Netuší někdo z Vás jak to napravit resp. kde jsem mohl udělat chybu.

Děkuji, že jste to dočetli až sem a budu rád za kažkou radu ;)

Nahlásit jako SPAM
IP: 81.91.219.–
18. 1. 2011   #2
-
0
-

Zdravím,
dobrej popis, ale asi k ničemu. Je to tlačítko nastavený jako trigger UpdatePanelu? Resp. je vlastnost ChildrenAsTriggers nastavena na true (výchozí hodnota)?

Nahlásit jako SPAM
IP: 89.203.157.–
Dušan Janošík | web: djanosik.cz, @djanosik
DeltaPi
~ Anonymní uživatel
2 příspěvky
18. 1. 2011   #3
-
0
-

Ano ChildrenAsTriggers UpdatePanelu je nastavena na true. Ještě jsem si všimnul, že když stisknu to tlačítko tak se mi nezmění ikona v prohlížeči indikující znovunačítání takže to vypadá, že to skutečně nic neznovunačítá, ale výsledek tomu neodpovídá..

Nahlásit jako SPAM
IP: 81.91.219.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 4 hosté

Podobná vlákna

Jak na ASP.NET — založil gameWriter

Jak uploadovat ASP.net — založil gangsta

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý