2010-05-05 5 views
0

J'ai l'événement jQuery suivant qui est déclenché à chaque fois qu'un point d'ancrage est cliqué. Comment puis-je passer un contrôle asp.net (disons un panneau appelé "pnl_info") comme l'un des paramètres, en plus du paramètre "target" que je suis déjà en train de dépasser?Comment passer un contrôle asp.net à un appel ajax jQuery?

<script type="text/javascript"> 
    $(document).ready(function() { 
     $("a").click(function(event) { 
      $.ajax({ 
       type: "POST", 
       url: "Default.aspx/Click", 
       data: "{target:'" + event.target + "'}", 
       contentType: "application/json; charset=utf-8", 
       dataType: "json", 
       error: function(xhr, ajaxOptions, thrownError) { 
       alert(xhr.responseText); 
        $("#myContent").html(xhr.statusText); 

        //alert(xhr.responseText); 
       }, 
       success: function(msg) { 
        alert(msg.d); 
       } 
      }); 
      return false; 
     }) 
    }) 
</script> 

Répondre

0

Pouvez-vous faire quelque chose comme ...

data: {target: event.target, info: $("#pnl_info").val()} 
+0

Serais-je en mesure d'apporter des modifications à se pnl_info si je suis passé de cette façon? Par exemple ajouter un nouveau contrôle? –

+1

@Abe: non, de cette façon vous passerez de la valeur au serveur. Si vous souhaitez apporter des modifications au client, renvoyez les données nécessaires et utilisez-les sur le client, dans la méthode 'success'. –

+0

@Abe, lorsque vous publiez en utilisant JQuery, vous n'utilisez pas le mécanisme de publication ASP.Net. Vous contournez fondamentalement le cycle de vie complet de la page ASP.Net, de sorte que la méthode Web que vous appelez ne saura rien des contrôles (du point de vue ASP.Net). – camainc

Questions connexes