ASP.NET Formulaire avec et sans runat=server

Résolu/Fermé
toopac Messages postés 7 Date d'inscription lundi 18 décembre 2006 Statut Membre Dernière intervention 15 février 2012 - 10 juin 2009 à 17:03
 pseudofreddo - 1 mars 2017 à 14:26
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
A voir également:

3 réponses

toopac Messages postés 7 Date d'inscription lundi 18 décembre 2006 Statut Membre Dernière intervention 15 février 2012 4
10 juin 2009 à 17:30
Bon finalement en cherchant sur des forum anglais : il fait rajouter dans le fichier Web.config :
<pages enableViewStateMac="false">
3
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

@+
0
Bonjour,
il existe maintenant un correctif :
http://support.microsoft.com/kb/970459/fr
bonne journée
0
pseudofreddo
1 mars 2017 à 14:26
Quel web.config -_- ?
0