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 ;)
Fórum › .NET
ASP.NET - Jak na postback?
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)?
Dušan Janošík | web: djanosik.cz, @djanosik
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á..
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žení videa
Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
Uživatelé prohlížející si toto vlákno
Uživatelé on-line: 0 registrovaných, 44 hostů
Podobná vlákna
Jak na ASP.NET — založil gameWriter
Jak uploadovat ASP.net — založil gangsta
Jak dostat stranku asp.net na web — založil Machta
Poraďte mi prosím, jak změnit verzi ASP.NET — založil sunamo
Nový ASP.NET Webhosting a ASP.NET Freehosting — založil ASPIFY.com
Moderátoři diskuze