2008-08-29 6 views
8

J'ai récemment installé .net 3.5 SP1. Lorsque j'ai déployé un site Web compilé qui contenait un formulaire avec son jeu d'actions:Définir l'action d'un formulaire dans .net 3.5 SP1 provoque des erreurs lors de la compilation

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

J'ai reçu cette erreur.
Méthode non trouvée: 'Void System.Web.UI.HtmlControls.HtmlForm.set_Action (System.String)'.
Si un autre développeur qui n'a pas installé SP1 déploie le site compilé, cela fonctionne correctement. Est-ce que quelqu'un sait des solutions pour cela?

Répondre

6

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

1

Je ne connais pas la solution spécifique, mais HtmlForm.set_Action() est une fonction créée par le compilateur qui agit en tant que setter pour une propriété appelée Action.

Quand vous faites:

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

Le code défini 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!

0

Je viens de rencontrer le même problème. D'après ce que j'ai compris, il est en effet causé par le fait que mon PC a .NET 3.5 SP1 dessus, et le serveur sur lequel j'ai déployé le projet ne fonctionne pas. D'après ce que je comprends, une solution est que le serveur soit mis à jour avec .NET 3.5 SP1. Comme je ne veux pas encore le faire, j'ai simplement supprimé l'attribut "action" de tous les formulaires du projet, ce qui a résolu le problème.
Read more

0

pourrait utiliser le method here pour définir la méthode form.action:

0

SURMENTIONNEES est vrai ...

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

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

0

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

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

0

Basta instalar o Framework 3.5 SP1. Que funciona

Questions connexes