Toon posts:

[ASP.NET] Controle op TextArea in Table

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb het volgende gemaakt:


Dit is een vraag in een enquete. Er moet ingevult worden hoeveel procent van de tijd een bepaald product gebruikt wordt. Alle percentages moeten samen 100% zijn.

Mijn vraag is hoe kan ik de controle hierop uitvoeren.

Ideaal zou zijn als nadat de vijf textarea's van percentages voorzien zijn er een cotnrole wordt uitgevoerd (server-side) of het ten samen 100 is. Zo niet dan wordt Label10 visible met een melding hierover.

Ik wil dus niet dat na het invullen van elke textarea al een controle doen. Mocht er een textarea niet ingevult worden, dan wordt die ook weer via Label10 na gemeldt nadat de gebruiker op een button heeft gedrukt om naar de volgende vraag door te gaan.

Dit is de code die ik nu voor de tabel heb:

Visual Basic .NET:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<asp:table id="Table4" style="Z-INDEX: 126; LEFT: 30px; 
                POSITION: absolute; TOP: 1335px" runat="server"
                Font-Names="Arial" BackColor="LemonChiffon" Width="258px" GridLines="Both"
            BorderStyle="Solid">
                <asp:TableRow>
                    <asp:TableCell Text="1. Product A"></asp:TableCell>
                    <asp:TableCell>
                        <asp:TextBox Runat="server" OnTextChanged="CheckPercentage"></asp:TextBox>
                    </asp:TableCell>
                </asp:TableRow>
                <asp:TableRow>
                    <asp:TableCell Text="2. Product B"></asp:TableCell>
                    <asp:TableCell>
                        <asp:TextBox Runat="server" ID="Textbox8"></asp:TextBox>
                    </asp:TableCell>
                </asp:TableRow>
                <asp:TableRow>
                    <asp:TableCell Text="3. Product C"></asp:TableCell>
                    <asp:TableCell>
                        <asp:TextBox Runat="server" ID="Textbox9"></asp:TextBox>
                    </asp:TableCell>
                </asp:TableRow>
                <asp:TableRow>
                    <asp:TableCell Text="4. Product D"></asp:TableCell>
                    <asp:TableCell>
                        <asp:TextBox Runat="server" ID="Textbox10"></asp:TextBox>
                    </asp:TableCell>
                </asp:TableRow>
                <asp:TableRow>
                    <asp:TableCell Text="5. Product E"></asp:TableCell>
                    <asp:TableCell>
                        <asp:TextBox Runat="server" ID="Textbox11"></asp:TextBox>
                    </asp:TableCell>
                </asp:TableRow>
            </asp:table>

Zelf had ik al OnTextChanged gevonden als event van een textarea.
Zoals je kan zien heb ik OnTextChanged gebruikt in het bovenste textarea. Helaas heeft dit geen effect. Er gebeurt helemaal niks als ik in deze textarea tekst invoer of middels tab naar het volgende item in het form toe ga.

Hoe kan ik het beste die validatie aanpakken? En waarom werkt ontextchanged niet?

[ Voor 29% gewijzigd door Verwijderd op 18-10-2004 11:03 . Reden: Images uit post verwijderd, stonden niet langer op server ]


  • whoami
  • Registratie: December 2000
  • Laatst online: 11:10
Die OnTextChanged werkt wel, echter het is een cached event. Je zult je even moeten inlezen in hoe events werken in ASP.NET.
ASP.NET werkt wel wat anders dan een gewone windows-applicatie, mede doordat het stateless is.
Die TextChanged zal pas uitgevoerd worden na een postback.

Misschien kan je eens kijken naar een CustomValidator. Anderszijds kan je die controle natuurlijk ook uitvoeren als je op een button oid klikt om de gegevens te bewaren.

https://fgheysels.github.io/


Verwijderd

Topicstarter
whoami schreef op 17 november 2003 @ 14:35:
Die OnTextChanged werkt wel, echter het is een cached event. Je zult je even moeten inlezen in hoe events werken in ASP.NET.
ASP.NET werkt wel wat anders dan een gewone windows-applicatie, mede doordat het stateless is.
Die TextChanged zal pas uitgevoerd worden na een postback.

Misschien kan je eens kijken naar een CustomValidator. Anderszijds kan je die controle natuurlijk ook uitvoeren als je op een button oid klikt om de gegevens te bewaren.
Om de hele pagina te gaan validaten nadat op submit gedrukt is kan niet omdat dat ik heel strerk vind dat dit gebruikers afschrikt als zij de hele pagina moeten doorlopen om fouten te herstellen. Ik wil meteen de melding maken als er een fout gemaakt wordt.

Ja ik kan autopostback aanzetten op alle vijf de textarea's maar dan wordt de pagina 5x verwerkt. Ik wil eigenlijk de vijf textarea's groeperen en aan de groep een auto postback hangen.

Als ik de CustomValidator gebruik moet ik een Control selecteren om te 'validaten', zit zou dan die groep textarea's zijn die als 1 control gezien worden. Het is erg omslachtig maar zou ik dan een eigen control moeten maken met vijf textarea's?

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

Om de hele pagina te gaan validaten nadat op submit gedrukt is kan niet omdat dat ik heel strerk vind dat dit gebruikers afschrikt als zij de hele pagina moeten doorlopen om fouten te herstellen. Ik wil meteen de melding maken als er een fout gemaakt wordt.
Afhankelijk van de browser wordt hier goede Javascript voor gegenereerd. Eventueel kan je ook nog je eigen Validators gaan maken.

Sowieso heb je een ValidationSummary control, mocht je gedetailleerde samenvattingen gaan maken dat een pagina fout is.

Om continue postbacks uit te gaan voeren, lijkt me ook niet echt bevordelijk.
Ja ik kan autopostback aanzetten op alle vijf de textarea's maar dan wordt de pagina 5x verwerkt. Ik wil eigenlijk de vijf textarea's groeperen en aan de groep een auto postback hangen.
Erhm.. 5x verwerkt? hoe dan? Er vindt 5x een postback plaats, dat is alles.

[ Voor 19% gewijzigd door gorgi_19 op 18-11-2003 10:56 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Topicstarter
Voordat ik vraag hoe en wat ga ik even met validators aan de gang en even kijken of ik jullie denk wijzen kan oppakken. Laat nog wel weten of het lukt of niet.