» »

Prenos string iz C# v JavaScript

Prenos string iz C# v JavaScript

drVrh ::

Lep pozdrav,

imam sledeč problem, iz Form.cs, datoteke bi rad poslal string v pluginhost.html v katerem je vgnezdena Javascript, ki z If stavkom preverja kaj je priletelo?

Prvo sem poskusil z int. Pri string je enak problem! Ne izvede Funkcije v java!

Naredil sem kot kaže spodnja koda:

Form.cs

        private void button2_Click(object sender, EventArgs e)
        {         
            int a = 1;
            webBrowser1.Navigate("javascript:kml(a)");
        }


Pluginhost.html

  function kml(a) {
        if(a == 1) {
            var href_x = 'http://localhost/pl_poti/Bricnik-Muta/Bricnik-Muta.kml';
            fetch_z(href_x);
        }	    
	}


Torej ko prileti enka v funkcijo kml, se mora tam izvesti if nato pa inicializacija href_x, nato pa klic funkcije v Javascriptu fetch_z(href_x).

A je definiram na začetku Javascript programa z

var a;


V čem je problem? Na primer imam v Form.cs narejeno da mi čekira checkbox pa ko je čekiran se izvede koda pod klicano funkcijo, glede povezave CS - HTML (JavaScript) je urejeno.
Tu spodaj pa je pluginhost.html v katerem je javascript.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
  <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  <head>
    <title>Google Earth Plug-in</title>
    <!-- NOTE: replace the key below with your own key -->
    <script type="text/javascript" src="http://www.google.com/jsapi?key=ABQIAAAAwbkbZLyhsmTCWXbTcjbgbRSzHs7K5SvaUdm8ua-Xxy_-2dYwMxQMhnagaawTo7L1FE1-amhuQxIlXw"></script>
    <script type="text/javascript">
    google.load('earth', '1');

    var ge = null;
    var a;
    
    //String a;   
    
    function init() {
        google.earth.createInstance('map3d', initCallback, failureCallback);        
  }

  function stKml() {
      var href_z = 'http://localhost/Grega/cameraKML.kml';
      fetch_z(href_z);
  }
  function kml(a) {
        if(a == 1) {
            var href_x = 'http://localhost/pl_poti/Bricnik-Muta/Bricnik-Muta.kml';
            fetch_z(href_x);
        }	    
	}

    function kml2() {           
           var href1 = 'http://localhost/KompletKML/Lese_Holmec.kml';
           fetch_z(href1);
       }

       function kmlx() {
           var href_x = 'http://localhost/pl_poti/Bricnik-Muta/Bricnik-Muta.kml';
           fetch_z(href_x);
       }


       function fetch_z(link) {
           google.earth.fetchKml(ge, link, function (kmlObject) {
               if (kmlObject)
                   ge.getFeatures().appendChild(kmlObject);
               if (kmlObject.getAbstractView() !== null)
                   ge.getView().setAbstractView(kmlObject.getAbstractView());
           });
       }
       

    function initCallback(pluginInstance) {
      ge = pluginInstance;
      ge.getWindow().setVisibility(true);     
    }

    function failureCallback(error) {
      window.external.JSInitErrorCallback_(error);
    }
        
    function JSCreatePlacemarkAtCameraCenter(name) {
      var lookAt = ge.getView().copyAsLookAt(ge.ALTITUDE_RELATIVE_TO_GROUND);
      
      var point = ge.createPoint('');
      point.setLatitude(lookAt.getLatitude());
      point.setLongitude(lookAt.getLongitude());
      
      var placemark = ge.createPlacemark('');
      placemark.setName(name);
      placemark.setDescription('Odbor za planinske poti Koroške');
      placemark.setGeometry(point);
      
      ge.getFeatures().appendChild(placemark);
  }

  function NaviShow() {
      ge.getNavigationControl().setVisibility(ge.VISIBILITY_SHOW);
  }
  function NaviHide() {
      ge.getNavigationControl().setVisibility(ge.VISIBILITY_HIDE);
  }

  function StatusShow() {
      ge.getOptions().setStatusBarVisibility(true);
  }
  function StatusHide() {
      ge.getOptions().setStatusBarVisibility(false);
  }
  function RoadL_Show() {
      ge.getLayerRoot().enableLayerById(ge.LAYER_ROADS, true);
  }
  function RoadL_Hide() {
      ge.getLayerRoot().enableLayerById(ge.LAYER_ROADS, false);
  }

  function BordersL_Show() {
      ge.getLayerRoot().enableLayerById(ge.LAYER_BORDERS, true);
  }
  function BordersL_Hide() {
      ge.getLayerRoot().enableLayerById(ge.LAYER_BORDERS, false);
  }

  
    </script>
    <style type="text/css">
    html, body {
      margin: 0;
      width: 100%;
      height: 100%;
    }
    </style>
  </head>
  <body onload="init()">
    <div id="map3d" style="width: 100%; height: 100%;"></div>
  </body>
</html>
  • spremenil: drVrh ()

drVrh ::

Pač problem je bil v delu Form.cs, kjer so mi prijatelji svetovali za naslednji del kode:

webBrowser1.Navigate("javascript:kml('"+a.ToString()+"');"); 


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Slo-Tech userscripts

Oddelek: Izdelava spletišč
175170 (2622) jype
»

Javascript - izračun razlike v datumih

Oddelek: Programiranje
81910 (1765) kogledom
»

JavaScript

Oddelek: Izdelava spletišč
91444 (1289) Gandalfar
»

Redirect strani?

Oddelek: Izdelava spletišč
71502 (1291) Road Runner
»

Kako se tole naredi?

Oddelek: Izdelava spletišč
261495 (1195) njok

Več podobnih tem