Ik ben bezig om mijn voeten nat te krijgen in de wondere wereld van asp dot net. Ik heb een simpel formulier op een web pagina die geen master page heeft. Als ik de informatie post en de geposte parameters opvraag krijg ik netjes de namen van de velden zoals ze genoemd zijn (bv txtLoginname en txtPassword).
Als ik echter een master pagina gebruik is dit niet langer het geval en krijg ik de volgende 'nonsens'
De vraag is wat de juiste manier is om uit het laatste voorbeeld de originele namen van de velden en knoppen te halen.
Is het veilig om domweg bv. txtISO639code.Text te gebruiken? Het lijkt er tot nu toe op dat de waarde die daar in stond bewaard blijft, maar mag ik daar in 100% van de gevallen op rekenen? En dit lost niet het probleem op als er twee knoppen zijn (btnAddlanguage en btnAddtranslation) en ik moet uitvogelen welke knop was gebruikt.
Of moet ik de veldnaam analyseren om te zien of de naam waar ik in ge-interesserd ben erin zit? Of is er een andere manier?
De code die bovenstaande resultaten heeft gegeven
Bedankt voor het meedenken
code:
1
2
3
4
| txtLoginname -- 'xyz' txtPassword -- 'abc' ddlSchoolselector -- '1' btnLogin -- 'Login' |
Als ik echter een master pagina gebruik is dit niet langer het geval en krijg ik de volgende 'nonsens'
code:
1
2
3
4
| ctl00$ContentPlaceHolder1$lbLanguageselector -- 'AFR' ctl00$ContentPlaceHolder1$txtISO639code -- 'SPA' ctl00$ContentPlaceHolder1$txtDescription -- 'Español' ctl00$ContentPlaceHolder1$btnAddlanguage -- 'Add language' |
De vraag is wat de juiste manier is om uit het laatste voorbeeld de originele namen van de velden en knoppen te halen.
Is het veilig om domweg bv. txtISO639code.Text te gebruiken? Het lijkt er tot nu toe op dat de waarde die daar in stond bewaard blijft, maar mag ik daar in 100% van de gevallen op rekenen? En dit lost niet het probleem op als er twee knoppen zijn (btnAddlanguage en btnAddtranslation) en ik moet uitvogelen welke knop was gebruikt.
Of moet ik de veldnaam analyseren om te zien of de naam waar ik in ge-interesserd ben erin zit? Of is er een andere manier?
De code die bovenstaande resultaten heeft gegeven
code:
1
2
3
4
5
6
7
8
9
10
| if (Page.IsPostBack == true) { for (int i = 0; i < Request.Form.Keys.Count; i++) { if (Request.Form.Keys[i].Substring(0, 2).Equals("__") == true) continue; string tmp = Request.Form[Request.Form.Keys[i]]; lblMessage.Text += "<br />" + Request.Form.Keys[i] + " -- '" + Request.Form[Request.Form.Keys[i]] + "'"; } } |
Bedankt voor het meedenken