Ga naar inhoud

Van asp.net (C#) naar java script


anoniem

Aanbevolen berichten

Om Google Maps te kunnen gebruiken heb je o.a. coördinaten nodig. Die heb ik in een stukje java script staan. Maar nu wil ik die coördinaten in een database stoppen en ze vervolgens uitlezen met asp.net 2.0 en C#. Daarom moeten de coördinaten die ik dan inlees in variabelen of Sessions doorgeven naar dat stukje java script. Maar hoe doe ik dat? Dit de code voor het java script [code:1:f9a6912db2] <script type="text/javascript"> //<![CDATA[ function load() { if (GBrowserIsCompatible()) { var map = new GMap2(document.getElementById("map")); map.addControl(new GSmallMapControl()); map.addControl(new GMapTypeControl()); map.setCenter(new GLatLng(Session["b"], Session["l"]), 17); map.addOverlay(new GMarker(new GLatLng(Session["b"], Session["l"]))); } } //]]> </script> [/code:1:f9a6912db2] Waar nu Session["b"], e.d. staat, staan normaal gesproken de coördinaten. Maar ik heb dus geen verstand van java script dus ik weet niet hoe dit precies te doen....
Link naar reactie
Hm, die tweede link had ik al bekeken maar daar had ik niets aan. iets duidelijker dan: ik heb dit als coördinaten in het stukje java script staan [code:1:c0e6b9068d]map.setCenter(new GLatLng(51.7170122263727, 5.36232590675354), 17); map.addOverlay(new GMarker(new GLatLng(51.7170122263727, 5.36232590675354)));[/code:1:c0e6b9068d] nu wil ik die getallen vervangen door een Session of een string, int of wat dan ook. Die vul ik met die getallen Dus laat ik zeggen: string [b:c0e6b9068d]lengte[/b:c0e6b9068d] = 51.7170122263727; string [b:c0e6b9068d]breedte [/b:c0e6b9068d]= 5.36232590675354 dan wordt het dus: [code:1:c0e6b9068d]map.setCenter(new GLatLng(lengte, breedte), 17); map.addOverlay(new GMarker(new GLatLng(lengte, breedte)));[/code:1:c0e6b9068d]
Link naar reactie
ik heb het kunnen verbouwen naar: [code:1:e33d2953c2] var map = new GMap2(document.getElementById("map")); var lengte = 51.7170122263727; var breedte = 5.36232590675354; map.addControl(new GSmallMapControl()); map.addControl(new GMapTypeControl()); map.setCenter(new GLatLng(lengte, breedte), 17); map.addOverlay(new GMarker(new GLatLng(lengte, breedte))[/code:1:e33d2953c2] Wellicht niet wereldschokkend maar voor mij weer een stap verder. Nu moet dus in var lengte = 51.7170122263727 niet 51.7170122263727 staan maar bijvoorbeeld var lengte =Session("lengte"); Die Session("lengte") vul ik ergens anders.... Voor de goede orde, als ik var lengte = Session("lengte") gebruik werkt het niet.
Link naar reactie
Het was even puzzelen, maar met de hulp van een vriend ben ik er uit. Je moet gebruik maken van ClientScript.RegisterClientScriptBlock:[code:1:d379d9ab5d] protected void Page_Load(object sender, EventArgs e) { // dit moet je uiteraard vervangen ;-) Session["b"] = 5.36232590675354; Session["l"] = 51.7170122263727; // hier begint de echte code StringBuilder js = new StringBuilder(); js.AppendLine("//<![CDATA[ "); js.AppendLine("function load() {"); js.AppendLine("if (GBrowserIsCompatible()) {"); js.AppendLine("var map = new GMap2(document.getElementById(\"map\"));"); js.AppendLine("map.addControl(new GSmallMapControl());"); js.AppendLine("map.addControl(new GMapTypeControl());"); js.AppendLine("map.setCenter(new GLatLng(" + Session["b"].ToString().Replace(",",".") + ", " + Session["l"].ToString().Replace(",",".") + ", 17));"); js.AppendLine("map.addOverlay(new GMarker(new GLatLng(" + Session["b"].ToString().Replace(",",".") + ", " + Session["l"].ToString().Replace(",",".") + ")));"); js.AppendLine("}"); js.AppendLine("}"); js.AppendLine("//]]>"); // deze regel zorgt ervoor dat de functie load() wordt toegevoegd aan de html ClientScript.RegisterClientScriptBlock(GetType(),"load",js.ToString(),true); } [/code:1:d379d9ab5d] En in de html zorg je er voor dat de functie load() meteen na het laden wordt aangeroepen:[code:1:d379d9ab5d]<body onload="load();">[/code:1:d379d9ab5d]
Link naar reactie
hahaha, die meneer Ed :lol: Maar, ik heb het voor elkaar. Yes! Een kwartier geleden is het me gelukt om er ook nog eens een database aan te koppelen. Nu moet ik alleen nog de bijbehorende adresgegevens in een ballon tonen maar dan netjes onder elkaar. Ik krijg ze nu nog alleen maar achter elkaar in die ballon. Jij een idee meneer Ed?
Link naar reactie
[quote:63d92e14e6="Wiep Corbier"] Nu moet ik alleen nog de bijbehorende adresgegevens in een ballon tonen maar dan netjes onder elkaar. Ik krijg ze nu nog alleen maar achter elkaar in die ballon. Jij een idee meneer Ed?[/quote:63d92e14e6] Als de tekst via javascript wordt getoond, dan zou "\n" aan het einde van een regel moeten werken.
Link naar reactie
[quote:8687793ef2="Wiep Corbier"]nu moet ik: string Voornaam = Request.QueryString["Voornaam"]; string ruimte = ", "; string Achternaam= Request.QueryString["Achternaam"]; eigenlijk onder elkaar zien te krijgen. [/quote:8687793ef2]Dus je wil dit: [code:1:8687793ef2]meneer , ed[/code:1:8687793ef2] ? Dan zal je ervoor moeten zorgen dat de newline (\n) ook in de javascript-functie terecht komt. Bijvoorbeeld door een StringBuilder object te gebruiken: [code:1:8687793ef2] StringBuilder sb = new StringBuilder; sb.AppendLine(Request.QueryString["Voornaam"] + "\\n"); sb.AppendLine(",\\n"); sb.AppendLine(Request.QueryString["Achternaam"] + "\\n"); [/code:1:8687793ef2]Of je kan het zo doen:[code:1:8687793ef2]String Voornaam = Request.QueryString["Voornaam"] + "\\n";[/code:1:8687793ef2]
Link naar reactie

Om een reactie te plaatsen, moet je eerst inloggen

Gast
Reageer op dit topic

×   Geplakt als verrijkte tekst.   Herstel opmaak

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

×
×
  • Nieuwe aanmaken...