L'impostazione dell'azione di un modulo in .net 3.5 SP1 provoca errori durante la compilazione

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

  •  09-06-2019
  •  | 
  •  

Domanda

Recentemente ho installato .net 3.5 SP1.Quando ho distribuito un sito Web compilato che conteneva un modulo con il suo set di azioni:

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

Ho ricevuto questo errore.
Metodo non trovato:'Vuoto System.Web.UI.HtmlControls.HtmlForm.set_Action(System.String)'.
Se un collega sviluppatore che non ha installato SP1 distribuisce il sito compilato, funziona correttamente.Qualcuno conosce qualche soluzione per questo?

È stato utile?

Soluzione

.NET 3.5 SP1 tenta di utilizzare l'attributo action="". (.NET 3.5 RTM no).Pertanto, quando esegui la distribuzione, il tuo codice tenta di impostare la proprietà HtmlForm.Action e non riesce, poiché System.Web.dll sulla destinazione di distribuzione è RTM e non dispone di un setter nella proprietà.

Altri suggerimenti

Non conosco la soluzione specifica, ma HtmlForm.set_Action() è una funzione creata dal compilatore che funge da setter per una proprietà chiamata Action.

Quando lo fai:

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

IL impostato il codice diventa effettivamente una funzione chiamata set_Azione.

So che non è la risposta migliore, ma spero che ti aiuti a trovare la fonte dei tuoi problemi!

Ho appena riscontrato lo stesso problema.Da quello che ho capito, è effettivamente causato dal fatto che il mio PC ha .NET 3.5 SP1 e il server su cui ho distribuito il progetto no.
Da quanto ho capito, una soluzione è che il server venga aggiornato con .NET 3.5 SP1.Dato che non voglio ancora farlo, ho appena rimosso l'attributo "azione" da tutti i moduli del progetto e questo ha risolto il problema.
Per saperne di più

Potrebbe usare il metodo qui per impostare il metodo form.action:

Tutto quanto detto sopra è vero...

Infatti quando si installa 3.5 SP1, si aggiorna automaticamente 2.0 e 3.0 con il proprio SP2.Quindi, se stai utilizzando 2.0 per un'applicazione, riceverai l'errore.

Inoltre, SP1 su .Net2.0 non ha causato il problema.

C'è un'altra soluzione a questo.Scrivi un javascript che imposti l'azione del modulo sull'URL previsto in Page_Load e registri lo script al caricamento della pagina.

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

Basta installare il framework 3.5 SP1 che funziona.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top