Jag har lite svårt att få till det med en sida som jag har ett antal konstanter med hjälptexter ex. const HELP_32 = "Ålderspension utan återbetalningsskydd". Tjena...!Konstanter i ASP.
Sen när jag vill använda mig av denna konstant så anropar jag ett javascript där jag vill skicka med den här hjälptexten men där jag bara har ett id som jag lägger till "HELP_" & id. Problmet är att jag får den inte att fatta att det är konstanten HELP_32 jag vill att den ska tolka det som och inte strängen "HELP_32".
Är tackasam för tips om hur jag kan lösa detta.Sv: Konstanter i ASP.
Det är ju lurigt ibland att blanda kod som körs på servern med kod som körs hos klienten. ASP är ju serverkod och levererar bara färdig text till sidan som klienten sen visar.
Men för att greppa ditt problem vid hornen... Jag hade nog gjort som så att använda mig av en array i JavaScript som jag låtit ASP fylla åt mig med den text jag önskar visa. Arrayens index skulle jag ha satt till konstanternas namn snarare än ett tal (som det är som standard).
Många anser att nästla in ASP i Javascript och Html bara leder till en fantastisk spagettikod, men jag tycker att det i många fall ändå förenklar.
Någonstans i början av min ASP skapas HELP_xx -konstanterna...
<%
HELP_32 = "Ålderspension utan återbetalningsskydd"
HELP_33 = "Ålderspension med mycket pengar"
HELP_34 = "Ingen ålderspension"
HELP_35 = "Ge mig bara mycket pengar när jag slutar jobba"
%>
Min javascriptfunktion fyller arrayen med värden från ASP...
<script>
var aKonst = new Array();
function fillArray(){
aKonst["HELP_32"] = "<%=HELP_32%>";
aKonst["HELP_33"] = "<%=HELP_33%>";
aKonst["HELP_34"] = "<%=HELP_34%>";
aKonst["HELP_35"] = "<%=HELP_35%>";
</script>
Nu har jag ju hårdkodat skapat varje rad i javascriptarrayen. Det bästa är ju att låta en loop i ASP skapa alla javascriptrader då den t.ex. går igenom ett recordset från en databas där dina hjälptexter finns.
När du sen ska hämta en av texterna m.hj.a ett id så gör du enligt följande i javascript...
function getHelp(id){
return aKonst["HELP_" + id];
}
Detta levererar texten du önskar...
Hoppas det blev något klarare... Annars är det bara att kräva ett förtydligande av mig :o)
Vänligen, Kalle Henriksson.