Zmena vlastnosti prvkov vo formview cez PageLoad   zodpovězená otázka

C#, ASP.NET WebForms, .NET

Zdravim. Potrebujem poradit.

Vo FormView mám nejaký imageButton a chcem ho vypinat alebo zapinat podla nacitania hodnoty v Labely z ineho FormView.

Je to celkom jednoduche len mi to nefunguje. Mozete poradit.

Kod:

public partial class Pozicat : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        Label stav1 = FormView1.FindControl("stavLabel") as Label;
        ImageButton button1 = FormView2.FindControl("ImageButton1") as ImageButton;
        
        if (stav1.Text == "P")
            button1.Enabled = false;
        else
            button1.Enabled = true;
    }
}

V podstate to nevyhodi žiadnu chybu. Správne vyhodnotí stav1 aj nastaví Enabled, ale na stranke sa to neprejaví. Ako to dosiahnut ?

Dakujem

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

Nejsem si úplně jistý, že by to takhle mohlo fungovat. Jakým způsobem v tomto formuláři zjišťujete stav "onoho" labelu jiného formuláře?

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

Nemělo by se na ten button1 odkazovat celou cestou? myslím tím

ctype(FormView2.FindControl("ImageButton1"), ImageButton).Enabled = False

píšu ve VB.NET ale myslím že v C# to bude taky nějak tak podobné...

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

Ty odkazy na prvky budou dobře, protože kdyby se nenašli, byly by null a házelo by to NullReferenceException.

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

Nevím, kde ten label z FormView1 plníte, ale není možné, že se tak děje až později.

V ASP.NET WebForms se událost Load stránky volá dříve než události Load jednotlivých controlů viz:

http://msdn.microsoft.com/en-us/library/...

http://msdn.microsoft.com/en-us/library/...

nebo např.:

http://forums.asp.net/t/1191194.aspx

Zjistíte to velmi jednoduše laděním, že dáte breakpoint na řádek, kde ten Label plníte a na ten řádek if (stav1.Text == "P").

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