Diskuze: UpdatePanel + TextBox, pomooc :(

C# .NET .NET (C# a Visual Basic) UpdatePanel + TextBox, pomooc :( American English version English version

Avatar
lcet.m
Člen
Avatar
lcet.m:

Ahoj všem,

pěkně prosím o pomoc, brzo se zbláznim...

Mám v UpdatePanelu tři kontroly:

<asp:UpdatePanel ID="UpdatePanel1" runat="server" >
    <ContentTemplate>
        <asp:Label ID="Label1" runat="server" Text="Not updated" ></asp:Label>
        <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
        <asp:Literal ID="Literal1" runat="server"></asp:Literal>
    </ContentTemplate>
</asp:UpdatePanel>

a v kódu UserControlu takový setter:

public string Name
        {
            get { return Label1.Text; }
            set
            {
                Label1.Text = value;
                Literal1.Text = value;
                TextBox1.Text = value;

            }
        }

A teď to zajímavé - když při callbacku zavolám ten setter, text Labelu i Literalu se mi nastaví, ale TextBox zůstane stejný, tj. prázdný. Už nevím co s tím - všechno jsem všemožně překopal, ale prostě nevim :/

Díky

 
Odpovědět 4.5.2013 14:45
Avatar
lcet.m
Člen
Avatar
lcet.m:

Ty jo... Teď jsem udělal takovej zoufalej pokus:

public class WritableTextBox : TextBox
    {
        protected override void Render(System.Web.UI.HtmlTextWriter writer)
        {
            //<input name="ctl00$MainContent$ctl01$ctl00$detail$TextBox1" type="text" id="MainContent_ctl01_ctl00_detail_TextBox1">

            writer.Write("<input type=\"text\" name=\"{0}\" id=\"{0}\" value=\"{1}\"/>"
                , ClientID
                , Text);
        }
    }

A to v pohodě funguje. Co nechápu? Nemám rád ASP.NET o_O

 
Nahoru Odpovědět 4.5.2013 14:57
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na lcet.m
David Čápka:

No koukám na to a mělo by to fungovat :D Si tam dej breakpoint a koukni co je v tom labelu po zavolání setteru. Případně si dej breakpoint přímo do setteru a koukni zas do labelu.

Nahoru Odpovědět 4.5.2013 17:11
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
lcet.m
Člen
Avatar
Odpovídá na David Čápka
lcet.m:

Já taky myslím, že by to MĚLO fungovat, ale ne-e :) Mám to celý prokrokovaný odshora dolů, absolutně nemůžu přijít na zádrhel. Když si v Chromu dám "Zkontrolovat prvek", vidím, že ten input prostě nemá value. Span vygenerovaný z Labelu i prostý text z Literalu vypadají podle očekávání. Ani jsem podobný problém nevygooglil, tak jsem prostě úplně vedle.

Zatím použiju ten můj WritableTextBox, nemám čas přemlouvat ASP.NET k součinnosti :(

 
Nahoru Odpovědět 4.5.2013 18:13
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na lcet.m
David Čápka:

Tak tam zkusit dát ještě nějaký TextBox a nastavit oba, vyvstávají další možnosti, jestli to bude dělat u obou (ta horší) nebo jen u toho tvého (ta lepší, něco je s ním špatně). Když jsi to debugoval, co se tedy s hodnotou stane po provedení setteru, má jí? Nemůžeš tam vkládat nějaké divné znaky, co by rozhodily ten render?

Nahoru Odpovědět 4.5.2013 18:18
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
lcet.m
Člen
Avatar
lcet.m:

Divné znaky určitě ne, je to jen číslo.ToString(). Po nastavení setteru má TextBox.Text nastavenou hodnotu. Víc TextBoxů zkusím, to mi nenapadlo...

 
Nahoru Odpovědět 4.5.2013 18:21
Avatar
lcet.m
Člen
Avatar
lcet.m:

Víc TextBoxů taky nic. Nevim, jsem v koncích...

 
Nahoru Odpovědět 4.5.2013 18:23
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na lcet.m
David Čápka:

To není hezký, jestli spěcháš a máš workaround, tak to neřeš. Jestli se s tím chceš mordovat, založil bych nový projekt, tam plácnul TextBox a v code behind mu natvrdo dal nějakou hodnotu. Zkusil bych to a pak pomalu do projektu přidával tu funkcionalitu co vyvolává problém a čekal až to začne taky blbnout, zjistíš co to vyvolává.

Nahoru Odpovědět 4.5.2013 18:26
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
lcet.m
Člen
Avatar
lcet.m:

Bohužel, teď to nemám čas řešit. Ale určitě se k tomu později vrátím, to přece neni možný...

 
Nahoru Odpovědět 4.5.2013 18:26
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na lcet.m
David Čápka:

No pak napiš, zajímalo by mě co to způsobuje :)

Nahoru Odpovědět 4.5.2013 18:27
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
exyi
Redaktor
Avatar
exyi:

A bez UpdatePanelu to funguje?

 
Nahoru Odpovědět 4.5.2013 18:58
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 11 zpráv z 11.