2009-12-15 6 views
0

J'ai un gridview ASP.NET que je veux manipuler en utilisant JavaScript/JQuery. Le problème que je pense que je vais avoir avec mon approche est que le serveur n'aura aucune connaissance des lignes que j'ajoute via gridview depuis que la représentation html du contrôle gridview est couplée avec le modèle d'objet qui vit sur le serveur. Donc voici ce que je dois faire:Manipulation de Gridview en utilisant JQuery et JavaScript

Je dois ajouter à la vue de grille quand un utilisateur soumet des données, et soumettre chaque rangée dans le lot de données saisies au serveur à traiter. Parce que j'ai d'autres contrôles ASP.NET qui contiendra des données que je veux soumettre, je voudrais soumettre toutes ces données via une publication traditionnelle sur le serveur.

  1. Comment mettre en œuvre cette approche si possible?
  2. Si ce n'est pas possible, pourriez-vous s'il vous plaît expliquer?

Merci beaucoup pour votre aide.

Répondre

1
var queryString = ""; 

// This could be based on a number of different events 
$('#finishButton').click(function(){ 

    // Iterate through each input (you could add other form elements) 
    $('#myForm input').each(function(){ 

     // Build your query string to post to your aspx page 
     queryString += $(this).attr("name") + "&" + $(this).val() + ","; 

    }); 
}); 

// Make sure special chars are escaped 
queryString = escape(queryString); 

// POST the form to your aspx page 
$.ajax({ 
    type: 'POST', 
    url: 'myFormProcessor.aspx', 
    data: queryString, 
    // Upon a successful POST, successHandler will be called 
    success: successHandler 
}); 

// Add the new data to the grid 
function successHandler(){ 

    // Clone the last row 
    $('#myTable tr:last').clone(true).insertAfter('#myTable tr:last'); 

    // Here you could just break apart the query 
    // string you build in the above code 
    // and use those values to change the values 
    // in the row you added to the grid 

} 

Assurez-vous de Unescape la chaîne de requête dans votre page ASPX, puis le briser par les délimiteurs que vous utilisez. J'ai utilisé '&' pour séparer la clé/valeur et les virgules entre les variables (entrées).