Festlegen der Aktion eines Formulars in .NET 3.5 SP1 verursacht Fehler beim Kompilieren

8

Ich habe kürzlich .net 3.5 SP1 installiert. Wenn ich eine kompilierte Website bereitgestellt habe, die ein Formular mit der Aktionsgruppe enthält:

%Vor%

Ich habe diesen Fehler erhalten.
Methode nicht gefunden: 'Void System.Web.UI.HtmlControls.HtmlForm.set_Action (System.String)'.
Wenn ein anderer Entwickler, der SP1 nicht installiert hat, die kompilierte Site bereitstellt, funktioniert es einwandfrei. Kennt jemand irgendwelche Lösungen dafür?

    
Skippy 29.08.2008, 17:11
quelle

7 Antworten

6

.NET 3.5 SP1 versucht, das Attribut action=" "zu verwenden (.NET 3.5 RTM nicht). Bei der Bereitstellung versucht der Code daher, die Eigenschaft HtmlForm.Action festzulegen und zu scheitern, da es sich bei der Datei System.Web.dll des Bereitstellungsziels um RTM handelt, die in der Eigenschaft keinen Setter hat.

    
Thomas G. Mayfield 29.08.2008, 17:30
quelle
1

Ich kenne die spezifische Lösung nicht, aber HtmlForm.set_Action () ist eine Funktion, die der Compiler erstellt und die als Setter für eine Eigenschaft namens Action dient.

Wenn Sie das tun:

%Vor%

Der Code set wird tatsächlich zu einer Funktion namens set_Action .

Ich weiß, es ist nicht die beste Antwort, aber ich hoffe, es hilft Ihnen, die Quelle Ihrer Probleme zu finden!

    
Daniel Jennings 29.08.2008 17:14
quelle
0

Ich habe gerade das gleiche Problem bekommen. Von dem, was ich verstanden habe, ist es in der Tat durch die Tatsache verursacht, dass mein PC .NET 3.5 SP1 darauf hat, und der Server, auf den ich das Projekt bereitgestellt hat, nicht Nach meinem Verständnis ist eine Lösung, dass der Server mit .NET 3.5 SP1 aktualisiert wird. Da ich das noch nicht tun möchte, habe ich nur das Attribut "action" von allen Formularen im Projekt entfernt, und das hat das Problem gelöst.
Lesen Sie mehr

    
Lea Cohen 11.11.2008 13:27
quelle
0

Hier könnte die Methode verwendet werden, um die form.action-Methode festzulegen:

    
Karl Glennon 12.01.2009 17:07
quelle
0

Alles oben Erwähnte ist wahr ...

Wenn man 3.5 SP1 installiert, aktualisiert es automatisch 2.0 und 3.0 mit seinem eigenen SP2. Also, wenn Sie 2.0 für eine Anwendung verwenden, erhalten Sie den Fehler.

Außerdem hat SP1 in .Net2.0 das Problem nicht verursacht.

    
GStefan 13.08.2009 15:28
quelle
0

Es gibt eine andere Lösung dafür. Schreiben Sie ein JavaScript, das die Aktion des Formulars auf die erwartete URL in Page_Load setzt und das Skript beim Laden der Seite registriert.

Danke, Ссылка

    
Gayani 24.08.2009 03:22
quelle
0

Basta installiert Framework 3.5 SP1 que funciona.

    
dedeco 01.10.2009 20:25
quelle

Tags und Links