Les Allergies
Alimentaires
Posez votre question Signaler

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

toopac 7Messages postés 18 décembre 2006Date d'inscription 15 février 2012Dernière intervention - Dernière réponse le 7 juin 2011 à 10:16
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
Lire la suite 

ASP.NET Formulaire avec et sans runat=server »

3 réponses
Réponse
+1
moins plus
Bon finalement en cherchant sur des forum anglais : il fait rajouter dans le fichier Web.config :
<pages enableViewStateMac="false">
IME - 23 déc. 2009 à 15:16
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

@+
Ajouter un commentaire
Réponse
+0
moins plus
Bonjour,
il existe maintenant un correctif :
http://support.microsoft.com/kb/970459/fr
bonne journée
Ajouter un commentaire
Ce document intitulé « ASP.NET Formulaire avec et sans runat=server » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?