Ik wil dus een gebruiker bestanden laten uploaden, de gebruiker kan een aantal velden kiezen tussen de 1 en de 10. Die velden worden dus dynamisch als controls aan een DIV gekoppeld, zie de volgende code:
Waar OpgegevenWaarde dus het aantal te maken controls is, en UploadVelden is de ID van de DIV waar de controls aan toegevoegd worden.
Onder deze velden zit een asp:button die het zaakje submit. Deze heeft een onclick event die het volgende doet:
Eigenlijk ook wel logisch dat dit niet werkt, ik gebruik immers nergens de ID's van de dynamische controls.
Maar beter als ik dit kan ik het niet krijgen en ben al een middag aan het zoeken. Hoe krijg ik die controls uitgelezen?
C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| void AantalVeldenBepalen(int OpgegevenWaarde) { for (int i = 0; i < OpgegevenWaarde; i++) { HtmlInputFile UploadVeld = new HtmlInputFile(); UploadVeld.ID = "UploadVeld" + i; UploadVeld.Name = "UploadVeld" + i; //Aantal velden in hidden field zetten (die al bestaat) AantalVelden.Value = OpgegevenWaarde.ToString(); //Velden aan de div toevoegen UploadVelden.Controls.Add(UploadVeld); } } |
Waar OpgegevenWaarde dus het aantal te maken controls is, en UploadVelden is de ID van de DIV waar de controls aan toegevoegd worden.
Onder deze velden zit een asp:button die het zaakje submit. Deze heeft een onclick event die het volgende doet:
C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| public void ControleerBestanden(object sender, EventArgs e) { //Kijken hoeveel bestanden er zijn geupload int aantalB; int.TryParse(AantalVelden.Value, out aantalB); //Elke bestand apart checken en uitlezen for (int i = 0; i < aantalB; i++) { //Hieronder de gegevens van het geuploadde bestand uitlezen HtmlInputFile FotoVeld = UploadVelden.FindControl("UploadVeld") as HtmlInputFile; //Bestandsnaam weergeven als test dat het werkt Response.Write(FotoVeld.PostedFile.FileName); } } |
Eigenlijk ook wel logisch dat dit niet werkt, ik gebruik immers nergens de ID's van de dynamische controls.
Maar beter als ik dit kan ik het niet krijgen en ben al een middag aan het zoeken. Hoe krijg ik die controls uitgelezen?