asp.net -Find control nefunguje   zodpovězená otázka

ASP.NET WebForms

Dobrý den,

používám komponentu GridView, ve které uživatel vybere jednu z položek. Po výběru položky generuju v události -> "Selected index changed" novou tabulku (přiřadil jsem jí ID. Přidal řádky, mřížky. Tabulku přidávám na panel, všechno se zobrazuje jak má).

Problém nastává, když chci nyní pracovat s touto vytvořenou tabulkou. Mám zde tlačítko update, které získá hodnoty z tabulky a uloží do databáze. Při použití:

Table t = (Table)Panel.findControl("Tabulka");

se do proměnné t uloží null(vyhodí nullReferenceException) z čehož soudím, že "stránka" o mnou vygenerované tabulce neví.

Když tu samou tabulku generuju "při události stránky" OnInit, vše proběhne bez problémů. Musím tedy v mém případě tabulku "zaregistrovat" ještě někam jinam, než do panelu?

Předem děkuji za jakékoliv rady.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Zkuste hledat kontrol v celé stránce a ne jen v panelu

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Bohužel. Panel, na kterém je moje tabulka to najde, nicméně tabulku generovanou až při běhu stránky to nenajde.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Přiložte, prosím, kód kterým generujete tabulku v rámci code-behind.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Tak jsem zjistil, že po kliknutí na tlačítko se vlastně všechny komponenty generované v code-behind vymažou a stránka se "načítá znovu". Pokud tedy následně v události "PageLoad" v případě, že je to PostBack, vygeneruji znovu tu samou tabulku (Nyní už vím, co si uživatel vybral), jako před kliknutím na tlačítko Update, metoda findControl již mojí tabulku najde.

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback