2010-02-09 12 views
0

Je dois passer une clé de données GridView (clé primaire) en tant que paramètre dans un appel AJAX JSON avec jquery.Jquery ajax appel passer GridView DataKey

Cependant, je ne dois pas exposer ma colonne de clé primaire dans le code source HTML.J'ai déjà essayé de cacher le TD (première colonne) de la table, mais il faut d'abord le cacher dans le code source.

Voici le code Jquery:

$(function(){ 
    $("tr").each(function(){//hide primary key columns in design 
     $("td:first",this).hide(); 
     $("th:first",this).hide(); 
    }); 

     $("tr:not(:first)").click(function(){ 
      $.ajax({ 
      type:"POST", 
      url:"CRUDWeb.asmx/DeleteRow", 
      data:"{'duviID': '" + $(this).children("td:first").html() + "'}",//get primary key 
      contentType:"application/json; charset=utf-8", 
      dataType:"json", 
      success:function(){}, 
      error:function(rh){alert(rh.responseText);} 
      }); 
     }); 
    }); 

Toutes les idées?

Répondre

1

Vous ne pouvez pas.

La clé primaire doit être imprimée quelque part dans le code source, sinon la jquery (côté client) ne peut pas envoyer les informations à l'appel ajax. La seule solution est s'il y a une autre clé unique que vous pouvez imprimer dans votre code source, alors vous pouvez envoyer cette clé à votre script et rechercher la clé primaire.