Ik ben bezig met het ombouwen van een website van ASP naar ASP.NET (2.0). Deze website is taaldynamisch, de texten komen uit een MSSQL database. Om de juiste texten in de juiste taal te laten zien gebruik ik in ASP ongeveer de volgende constructie:
Wat ik vervolgens doe in mijn HTML opmaak is het volgende:
En voor JavaScript alert een soortgelijke constructie:
Tot nu toe heb ik bij het omzetten van de website van ASP naar ASP.NET al behoorlijk wat profijt gehad van de <asp:Label> control, om texten in mijn HTML pagina te laten zien doe ik nu ongeveer het volgende:
Waarbij er in het HTML gedeelte het volgende staat:
Maar nu komt het: Ik krijg het niet voor elkaar om de JavaScript alerts ook netjes de sLoginTxt string te laten weergeven. Mijn "oude" ASP code werkt niet, want hij geeft aan dat die sLoginTxt variabele niet bekend is (in het JavaScript gedeelte). Volgens de theorie klopt dat, in een script render block (<% %>) zijn variabelen lokaal.
Wat ik al geprobeerd heb:
- de search gebruikt (van GOT, Google, Experts Exchange, MSDN, enz enz)
- gekeken of Localization iets voor mij is, dat is het niet. Ik kan niet met die resource files werken (vanwege constructie website)
- geprobeerd of ik iets met een <asp:Literal> control kon:
Dat werkt helaas ook niet, de alert blijft leeg.
Note: Het is voor mij geen optie om met behulp van ASP.NET de JavaScript code te schrijven met behulp van response.write("<script langua... etc etc").
Mijn vraag:
Hoe kan ik in mijn JavaScript code deze taaldynamische strings verwerken?
Ik hoop dat het ongeveer duidelijk is, zo niet: vraag maar raak
ASP.NET Visual Basic:
1
2
3
4
5
| sSQL = "SELECT Text FROM TabText WHERE LanguageID = 3 AND ID = 200" set rs = cn.execute(sSQL) dim sLoginTxt sLoginTxt = rs.fields("Text") |
Wat ik vervolgens doe in mijn HTML opmaak is het volgende:
HTML:
1
2
3
4
5
| <table> <tr> <td><%=sLoginTxt%></td> </tr> </table> |
En voor JavaScript alert een soortgelijke constructie:
JavaScript:
1
2
3
4
5
| <script language="JavaScript1.2"> function DoAlert(){ alert("<%=sLoginTxt%>"); } </script> |
Tot nu toe heb ik bij het omzetten van de website van ASP naar ASP.NET al behoorlijk wat profijt gehad van de <asp:Label> control, om texten in mijn HTML pagina te laten zien doe ik nu ongeveer het volgende:
ASP.NET:
1
2
3
| <script runat="server"> label_LoginText.Text = sLoginTxt </script> |
Waarbij er in het HTML gedeelte het volgende staat:
HTML:
1
2
3
4
5
| <table> <tr> <td><asp:Label ID="label_LoginText" runat="server" /></td> </tr> </table> |
Maar nu komt het: Ik krijg het niet voor elkaar om de JavaScript alerts ook netjes de sLoginTxt string te laten weergeven. Mijn "oude" ASP code werkt niet, want hij geeft aan dat die sLoginTxt variabele niet bekend is (in het JavaScript gedeelte). Volgens de theorie klopt dat, in een script render block (<% %>) zijn variabelen lokaal.
Wat ik al geprobeerd heb:
- de search gebruikt (van GOT, Google, Experts Exchange, MSDN, enz enz)
- gekeken of Localization iets voor mij is, dat is het niet. Ik kan niet met die resource files werken (vanwege constructie website)
- geprobeerd of ik iets met een <asp:Literal> control kon:
JavaScript:
1
2
3
4
5
| <script language="JavaScript1.2"> function DoAlert(){ alert("<asp:Literal ID="literal_LoginText" runat="server" />"); } </script> |
Dat werkt helaas ook niet, de alert blijft leeg.
Note: Het is voor mij geen optie om met behulp van ASP.NET de JavaScript code te schrijven met behulp van response.write("<script langua... etc etc").
Mijn vraag:
Hoe kan ik in mijn JavaScript code deze taaldynamische strings verwerken?
Ik hoop dat het ongeveer duidelijk is, zo niet: vraag maar raak