2009-10-13 3 views
1

J'ai un contrôle WizardStep dont j'ai besoin d'une information: Le montant total d'un panier de boutique en ligne. Comme j'ai cherché et demandé à ce forum ma conclusion était que cela ne pouvait pas être fait en passant un champ masqué ou une valeur de zone de texte cachée à la page suivante d'une étape WizardStep Complete. J'ai donc essayé de mettre cette information dans une session puis de la rediriger vers une nouvelle page où je créerais un textbox de formulaire dont la valeur serait la valeur de la session.ASP.NET: Échec de la validation de viewstate MAC

Mais je reçois la validation de l'erreur de MAC viewstate échoué. J'ai essayé de retarder l'appel de soumettre de 3 secondes, mais cela n'aide pas et je ne cours pas le site à une ferme Web.

La raison pour laquelle j'ai besoin de la zone de texte est que ma passerelle de paiement nécessite que je passe le montant total à travers les valeurs de formulaire.

Voici la page vers laquelle redirige mon assistant. C'est juste une page de test atm. En ce moment, j'ai juste besoin de transférer une valeur de la zone de texte à la page suivante sans l'erreur viewstate:

<script type="text/javascript" language="javascript"> 
    window.onload = function() { 
     setTimeout('submitForm()', 3000); 

    } 

    function submitForm() { 
     document.forms[0].submit(); 
    } 
</script> 

<div> 

Répondre

2

En général, l'erreur viewstate se produit car une page est mise à jour avant qu'il ne soit fini le chargement comme dans this question. Étant donné qu'il s'agit d'une page simple pour simplement rediriger les données, je m'assurerais que vous utilisez un élément d'entrée HTML et non un contrôle ASP TextBox (ou tout autre contrôle ASP), qui devrait complètement supprimer viewstate de la page.

Questions connexes