Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2008
    residenza
    Roma
    Messaggi
    26

    Chiamare funzione JS esterna da routine VB net

    Salve.
    Ho scritto una funzione JS su modulo formato *.js che dovrebbe venire lanciata da una funzione scritta su un code behind formato *.aspx.vb .
    Sebbene non venga restituito alcun errore, la funzione JS non viene lanciata (ho provato a mettere un alert('Hello World') che non appare. Provato in localhost e su host Aruba.

    In pratica la funzione JS apre una mappa di Google Maps ed e' copiata da Helpdesk di Google stesso.

    Allego il codice VB e JS ... aiuto!
    codice:
    Partial Class _Default
        Inherits System.Web.UI.Page
    
    Public Sub form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    
    Dim csname As String = "Initialize"
    Dim csurl As String = "../js/GoogleMaps.js"
    Dim cstype As Type = Me.GetType()
    
    ' Referenziare ClientScriptManager dalla Page class.
    Dim cs As ClientScriptManager = Page.ClientScript
    ' Controllare se già registrato.
    If (Not cs.IsClientScriptBlockRegistered(cstype, csname)) Then
        cs.RegisterClientScriptBlock(cstype, csname, ResolveClientUrl(csurl), True)
    End If
    JS (copiato da Helpdesk di Google):
    codice:
    src="https://maps.googleapis.com/maps/api/js"
      
    function Initialize() {
      var mapCanvas = document.getElementById('map');
      var mapOptions = {
        center: new google.maps.LatLng(5.1111093, -1.2466639, 17),
                  zoom: 14,
        mapTypeId: google.maps.MapTypeId.ROADMAP
              }
        var map = new google.maps.Map(mapCanvas, mapOptions) }
    
    google.maps.event.addDomListener(window, 'load', Initialize);
    La funzione JS - se scritta semplicemente su pagina HTML - genera una mappa Google senza alcuna eccezione.

    C'e' inoltre del codice HTML sulla pagina *.aspx dove la mappa dovrebbe apparire:
    codice:
    <%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" %>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title>GOOGLEMAPS</title>
    <html>
      <head>
       <style>
      #map {
        width: 500px;
        height: 400px;
        background-color: #CCC;
      }
    </style>
     </head>
      <body>
        <div id="map"></div>
      </body>
    </html>
    Ringrazio per l'interesse prestato e mi scuso per la lunghezza del messaggio.
    Sergio
    Sigma Beta

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Sposto nel forum "Visual Basic e .NET Framework".


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    codice:
        Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
            Dim js As String = String.Format("<script src=""{0}"" ></script>", ResolveClientUrl(".\csurl.js"))
            Me.ClientScript.RegisterClientScriptBlock(Me.GetType, "Initialize", js, False)
    
        End Sub
    così mi funziona. Ho avuto qualche problema (mi restituiva codice di errore 404) solo perchè scrivevo male il nome del file
    Pietro

Tag per questa discussione

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.