Question

J'ai un public dans mon code behind qui prend une chaîne. Je voudrais appeler cette méthode de javascript.

Le paramètre que je veux transmettre est variable qui change d'un ddl.

J'ai donc quelque chose comme ceci:

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

passe en bas du mot « valeur » et non les données de la valeur.

Je ne peux pas comprendre la syntaxe appropriée pour transmettre les données en valeur.

Merci

Était-ce utile?

La solution

Comme mentionné par d'autres, en essayant d'accéder au code C # derrière directement de javascript est impossible.

Cependant, vous pouvez communiquer avec elle indirectement .

Je pense que votre meilleure chance est d'utiliser une combinaison de jQuery et l'attribut [WebMethod].

fonction javascript en utilisant jQuery pour faire un appel 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);
}

Code de derrière:

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

Autres conseils

Le code que vous manifestez est exécuté côté serveur est généré lorsque le code HTML. En d'autres termes, il est exécuté avant qu'elle ne touche le navigateur et votre utilisateur a une chance de faire quoi que ce soit avec la page.

Peu importe la syntaxe que vous utilisez ici les informations que vous souhaitez ne peut être consulté à cette époque -. Il n'existe pas encore

La bonne approche est ici pour envoyer ces informations au serveur, soit en affichant la page ou en utilisant AJAX, puis, à l'extrémité arrière du cycle de demande / réponse faire votre traitement

Une autre option serait de faire du côté client de traitement utilisant Javascript

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top