Domanda

Ho un pubblico nel mio codice dietro la pagina che prende una stringa. Vorrei chiamare questo metodo da javascript.

Il parametro che voglio passare verso il basso è variabile che cambia da un ddl.

Così ho qualcosa di simile:

 var value = document.getElementById('ddlContact').value;
        <%=PopulateContactFields("value") %>

Questa tramanda la parola 'valore' e non i dati di valore.

Non riesco a capire la sintassi corretta per tramandare i dati di valore.

Grazie

È stato utile?

Soluzione

Come detto da altri, cercando di accedere a codice C # dietro direttamente da JavaScript è impossibile.

Tuttavia, è possibile comunicare con esso indirettamente .

Credo che il vostro colpo migliore è quello di utilizzare una combinazione di jQuery e l'attributo [WebMethod].

funzione javascript utilizzando jQuery per fare una chiamata AJAX:

function Search() {
    var search = $('#<%= ddlContact.ClientId %>').val();
    var options = {
        type: "POST",
        url: "Default.aspx/Hello",
        data: "{'name' :'" + search + "'}",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function(msg) {
            alert(msg);
        }
    };
    $.ajax(options);
}

Codice dietro:

public partial class _Default : System.Web.UI.Page
{
    [WebMethod]
    public void Hello(string name)
    {
      return "Hi " + name;
    }
}

Altri suggerimenti

Il codice si sta mostrando viene eseguito lato server quando viene generato il codice HTML. In altre parole, viene eseguito prima che colpisca il browser e l'utente ha la possibilità di fare qualsiasi cosa con la pagina.

Non importa quale sia la sintassi si usa qui le informazioni che si desidera non è possibile accedere in questo momento -. Non esiste ancora

L'approccio giusto è quello di inviare queste informazioni al server o inviando pagina o utilizzando AJAX e poi, sulla coda di richiesta ciclo / risposta fare la vostra elaborazione

Un'altra opzione sarebbe quella di fare il lato client di elaborazione utilizzando Javascript

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top