Visualizzazione dei risultati da 1 a 6 su 6

Discussione: evento onmouseover

  1. #1

    evento onmouseover

    Ciao a tutti.

    Problema: onmouseover deve scatenare un evento lato server (in codebehind c#).

    Progetto: devo collegare un evento onmouseover ad una cella di una tabella. Il fatto deve scatenare la void getdata() [vedi sotto] in codebehind la quale apre il dbase, prende un valore e lo visualizza in una label.

    Domanda: come devo scrivere il codice di onmouseover?

    <table>
    <tr>
    <td id="td1" runat="server" onmouseover="?????">
    <asp:Label ID="Label1" runat="server"</asp:Label>
    </td>
    </tr>

    codebehind c#

    protected void getdata(string id)

    SqlConnection conn = new SqlConnection(stringaDiConnessioneSqlClient);
    ecc....

  2. #2
    Credo che la via migliore da percorrere sia quella del __doPostBack... felice di essere smentito

  3. #3
    se aggiungi jquery, diventa tutto piu semplice... io farei così:
    nell'head della pagina .aspx
    codice:
    <script type="text/javascript">       
            function getData() {
                $.ajax({
                    type: "POST",
                    url: "WebService1.asmx/MyMethod",
                    data: "{}",
                    contentType: "application/json; charset=utf-8",
                    dataType: "json",
                    success: function (msg) {
    
                    },
                    error: function(err){
                       
                }
                });
            }
        </script>
    e poi un bel WebService

    codice:
            [WebMethod]
            public void MyMethod()
            {
              SqlConnection conn = new SqlConnection(stringaDiConnessioneSqlClient);
              //Tutto il codice qui...
            }
    se devi ritornare dei dati sulla pagina .aspx, puoi usare json o xml, dipende dalle tue esigenze, comunque io mi sono sempre trovato benissimo con json.
    Attenzione: se la mole di dati da trasmettere è elevata, ricorda di aggiungere questo tag al web.config:
    codice:
    <configuration>
    <system.web.extensions>
        <scripting>
          <webServices>
            <jsonSerialization maxJsonLength="50000000"/>
          </webServices>
        </scripting>
      </system.web.extensions>
    </configuration>

  4. #4
    Originariamente inviato da Ernst Lossa
    Credo che la via migliore da percorrere sia quella del __doPostBack... felice di essere smentito
    .... non per smentirti

  5. #5
    Utente di HTML.it L'avatar di cassano
    Registrato dal
    Aug 2004
    Messaggi
    3,002
    Originariamente inviato da pasqualissimo
    se aggiungi jquery, diventa tutto piu semplice... io farei così:
    nell'head della pagina .aspx
    codice:
    <script type="text/javascript">       
            function getData() {
                $.ajax({
                    type: "POST",
                    url: "WebService1.asmx/MyMethod",
                    data: "{}",
                    contentType: "application/json; charset=utf-8",
                    dataType: "json",
                    success: function (msg) {
    
                    },
                    error: function(err){
                       
                }
                });
            }
        </script>
    e poi un bel WebService

    codice:
            [WebMethod]
            public void MyMethod()
            {
              SqlConnection conn = new SqlConnection(stringaDiConnessioneSqlClient);
              //Tutto il codice qui...
            }
    se devi ritornare dei dati sulla pagina .aspx, puoi usare json o xml, dipende dalle tue esigenze, comunque io mi sono sempre trovato benissimo con json.
    Attenzione: se la mole di dati da trasmettere è elevata, ricorda di aggiungere questo tag al web.config:
    codice:
    <configuration>
    <system.web.extensions>
        <scripting>
          <webServices>
            <jsonSerialization maxJsonLength="50000000"/>
          </webServices>
        </scripting>
      </system.web.extensions>
    </configuration>
    Poi ottenendo un oggetto Json, dobbiamo leggerlo e trattarlo sempre tramite Jquery vero ?

  6. #6
    no, nel success della funzione ajax, riceverai un parametro(msg), che è il return del web method.
    tramite jQuery, con la funzione
    codice:
    $.parseJSON(msg.d)
    salverai in una variabile javascript l'oggetto convertito.
    da lì puoi manipolarlo come vuoi, sempre con javascript.

    se il webmethod ritorna un oggetto complesso, come un oggetto o una List di oggetti, nella variabile javascript ti ritroverai un array, a cui potrai accedere con i relativi indici e proprietà
    codice:
    var example = array[0].property
    se metti dei breakpoint su tali variabili, ti renderai conto dell'architettura dell'oggetto, identica alle classi serverside.

    se invece vuoi passare degli oggetti al web method, farai il contrario, cioè dovrai convertire l'oggetto in formato json con la seguente funzione
    codice:
    data: JSON.stringify();
    la gestione di tali oggetti, sembrerebbe complicato, soprattutto se si tratta di oggetti complessi, come ad esempio una List<object>, ma penso che una volta che ci si prende la mano, oltre ad essere una tecnologia molto performante, avrai la possibilita di manipolare dati con una facilità impressionante

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.