ASP.NET Formulaire avec et sans runat=server [Résolu/Fermé]

Signaler
Messages postés
7
Date d'inscription
lundi 18 décembre 2006
Statut
Membre
Dernière intervention
15 février 2012
-
 pseudofreddo -
Bonjour,
Quand je fais ce code :

<form method="post" action="Resultat.aspx" id="post">
<p>
Prenom : <input type="text" name="prenom" />
<input type="submit" />
</p>
</form>

et essaye de récupérer le résultat dans Resultat.aspx :

Votre Prénom est : <%=Request.Params.Get("prenom") %>

tout marche très bien.
Mais quand je veux mettre une DropDownList par exemple :

<form method="post" action="Resultat.aspx" id="post">
<p>
Prenom :
<asp:DropDownList ID="DropDownList1" runat="server">
<asp:ListItem>aaaaa</asp:ListItem>
<asp:ListItem>bbbbb</asp:ListItem>
</asp:DropDownList>
<input type="submit" />
</p>
</form>

J'obtiens l'erreur suivante :

Le contrôle 'ctl00_DropListLigne_DropDownList1' de type 'DropDownList' doit être placé dans une balise form avec runat=server.
Je ne suis pas contrariant, donc je rajoute dans la balise form : runat="server".

Mais j'obtiens alors une nouvelle erreur pour laquelle je requiers vos lumières.

Échec de la validation MAC Viewstate. Si cette application est hébergée par une batterie de serveurs ou un cluster, assurez-vous que la configuration <machineKey> spécifie le même validationKey et le même algorithme de validation. AutoGenerate ne peut pas être utilisée dans un cluster.
Description : Une exception non gérée s'est produite au moment de l'exécution de la demande Web actuelle. Contrôlez la trace de la pile pour plus d'informations sur l'erreur et son origine dans le code.
Détails de l'exception: System.Web.HttpException: Échec de la validation MAC Viewstate. Si cette application est hébergée par une batterie de serveurs ou un cluster, assurez-vous que la configuration <machineKey> spécifie le même validationKey et le même algorithme de validation. AutoGenerate ne peut pas être utilisée dans un cluster.

Avez-vous une explication, voire même une solution à mon problème?

Merci d'avance

3 réponses

Messages postés
7
Date d'inscription
lundi 18 décembre 2006
Statut
Membre
Dernière intervention
15 février 2012
4
Bon finalement en cherchant sur des forum anglais : il fait rajouter dans le fichier Web.config :
<pages enableViewStateMac="false">
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 63858 internautes nous ont dit merci ce mois-ci

Il suffit d'ajouter ce qui suite dans le code :

Public Overloads Overrides Sub VerifyRenderingInServerForm(ByVal control As Control)

' Confirms that an HtmlForm control is rendered for the specified ASP.NET server control at run time.

End Sub

@+
Bonjour,
il existe maintenant un correctif :
http://support.microsoft.com/kb/970459/fr
bonne journée

Quel web.config -_- ?