asp.net : Få data från C# till htmlsida

Trädvy Permalänk
Medlem
Plats
127.0.0.1
Registrerad
Jun 2016

asp.net : Få data från C# till htmlsida

Hej!

Jag håller på att göra ett program som skall visa en adress på en googlemap.

Jag kör asp.net och undrar då, kan jag hämta en variabel i c# koden och impotera den till HTML-sidan ? Allt är alltså i samma webform.

Variablen ser ut såhär:

// Hämtar Gps latitude och longitude från databasen. string addressGpsLatitude ; string addressGpsLongitude;

Sedan ser det ut såhär i html och vart jag vill ha in variablerna:

<script> function initMap() { var myLatLng = { lat: HÄR VILL JAG HA MIN VARIABEL, lng: HÄR VILL JAG HA MIN VARIABEL}; var map = new google.maps.Map(document.getElementById('map'), { zoom: 15, center: myLatLng }); var marker = new google.maps.Marker({ position: myLatLng, map: map, title: 'Hello World!' }); } </script>

[ASUS X99-DELUXE] - [i7 5960X] - [48 GB Corsair Dominator Platinum] - [ASUS ROG 780TI] - [ Kingston HyperX Predator 480GB PCI-E ] - [ 12TB 4x3TB WD RED SERIES ] - [Some SSD ~1TB] - [ASUS ROG PG278Q] - [Corsair AX1200i] - [Corsair Hydro Series H115i]

Trädvy Permalänk
Medlem
Plats
Malmö
Registrerad
Feb 2006

Det finns massvis med sätt.

Mest straightforward är:
Alternativ 1: Använd en razor template
Alternativ 2: Sätt upp ett web api och hämta variabeln via ajax

Trädvy Permalänk
Medlem
Plats
Stockholm
Registrerad
Mar 2010

Från c# backend till frontend, då kan du använda Sessions variabler. Eller ha ett "hidden" HTML element som du tilldelar värdet o sen läser ur Javascriptet.

Åt andra hållet, från Javascript -> C#, så kan du posta formulär, lägga in variabler på URL, spara värde i gömd html kontroll. Eller asynkront anropa typ en webservice från Javascriptet, där du skickar med värdet som en variabel.

Kolla:

http://www.asp.net/get-started

// LZ

Trädvy Permalänk
Medlem
Plats
åkersberga, Täby
Registrerad
Jun 2004

https://www.chilkatsoft.com/

har nog det du behöver

Dator 1.
FX 8350 4.7Ghz | 24GB ram | MSI Radeon RX 480 | Kingston SSD | Fractal design R2.0 | PSU : Fractal 650W
Dator 2 (Bärbar). HP Folio 9470m

Trädvy Permalänk
Medlem
Plats
Helsingborg
Registrerad
Feb 2008

Ett vanligt sätt att lösa detta på är att skriva ut variablerna i dolda fält i DOM:en. Så att du snappar upp värdena med javascript så här exempelvis:
var myLatLng = { lat: document.getElementById("_lat").value, lng: document.getElementById("_lng").value};

Exempelkod:
https://jsfiddle.net/Salmin/41vx1xwn/

Trädvy Permalänk
Medlem
Plats
127.0.0.1
Registrerad
Jun 2016

Det jag gjorde va att använda mig av sessions, löste problemet för mig på ett smidigt sätt:

<script> var gpsLat = <%=Session["gpsLatitude"]%>; </script>

Sen självfallet en för longitude med.

[ASUS X99-DELUXE] - [i7 5960X] - [48 GB Corsair Dominator Platinum] - [ASUS ROG 780TI] - [ Kingston HyperX Predator 480GB PCI-E ] - [ 12TB 4x3TB WD RED SERIES ] - [Some SSD ~1TB] - [ASUS ROG PG278Q] - [Corsair AX1200i] - [Corsair Hydro Series H115i]