La définition de l'action d'un formulaire dans .net 3.5 SP1 provoque des erreurs lors de la compilation

StackOverflow https://stackoverflow.com/questions/34768

  •  09-06-2019
  •  | 
  •  

Question

J'ai récemment installé .net 3.5 SP1.Lorsque j'ai déployé un site Web compilé contenant un formulaire avec son ensemble d'actions :

<form id="theForm" runat="server" action="post.aspx">

J'ai reçu cette erreur.
Méthode introuvable :'Void System.Web.UI.HtmlControls.HtmlForm.set_Action(System.String)'.
Si un collègue développeur qui n'a pas installé SP1 déploie le site compilé, cela fonctionne correctement.Quelqu'un connaît-il des solutions à ce problème ?

Était-ce utile?

La solution

.NET 3.5 SP1 tente d'utiliser l'attribut action="" (.NET 3.5 RTM ne l'a pas fait).Ainsi, lorsque vous déployez, votre code tente de définir la propriété HtmlForm.Action et échoue, car System.Web.dll sur la cible de déploiement est RTM et n'a pas de setter sur la propriété.

Autres conseils

Je ne connais pas la solution spécifique, mais HtmlForm.set_Action() est une fonction créée par le compilateur qui agit comme paramètre pour une propriété appelée Action.

Quand tu fais :

public String Action { set { DoStuff(); } }

Le ensemble le code devient en fait une fonction appelée set_Action.

Je sais que ce n'est pas la meilleure réponse, mais j'espère que cela vous aidera à trouver la source de vos problèmes !

Je viens de rencontrer le même problème.D'après ce que j'ai compris, cela est en effet dû au fait que mon PC est équipé de .NET 3.5 SP1, et que le serveur sur lequel j'ai déployé le projet ne l'est pas.
D'après ce que j'ai compris, une solution consiste à mettre à jour le serveur avec .NET 3.5 SP1.Comme je ne veux pas encore faire ça, j'ai juste supprimé l'attribut "action" de tous les formulaires du projet, et cela a résolu le problème.
En savoir plus

Pourrait utiliser le méthode ici pour définir la méthode form.action :

Tout ce qui est mentionné ci-dessus est vrai...

En fait, quand on installe la 3.5 SP1, on met automatiquement à jour les 2.0 et 3.0 avec leur propre SP2.Ainsi, si vous utilisez la version 2.0 pour une application, vous obtiendrez l'erreur.

De plus, le SP1 sur .Net2.0 n'a pas causé le problème.

Il existe une autre solution à cela.Écrivez un javascript qui définirait l'action du formulaire sur l'URL attendue à Page_Load et enregistrerait le script au chargement de la page.

Merci,http://www.dilrukshidevapriya.blogspot.com

Basta installar o framework 3.5 SP1 qui fonctionne.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top