2008-08-29 18 views
8

Instalé recientemente .net 3.5 SP1. Cuando desplegué un sitio web compilado que contiene un formulario con su conjunto de acciones:Establecer una acción de formulario en .NET 3.5 SP1 causa errores al compilar

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

recibí este error.
Método no encontrado: 'Void System.Web.UI.HtmlControls.HtmlForm.set_Action (System.String)'.
Si un desarrollador compañero que no ha instalado SP1 implementa el sitio compilado funciona bien. ¿Alguien sabe de alguna solución para esto?

Respuesta

6

.NET 3.5 SP1 tries to use the action="" attribute (.NET 3.5 RTM no). Por lo tanto, cuando implemente, su código intentará establecer la propiedad HtmlForm.Action y fallar, ya que System.Web.dll en el destino deploy es RTM y no tiene un setter en la propiedad.

1

No conozco la solución específica, pero HtmlForm.set_Action() es una función que crea el compilador que actúa como el creador de una propiedad llamada Acción.

Al hacer:

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

El conjunto código en realidad se convierte en una función llamada set_Action.

Sé que no es la mejor respuesta, pero espero que lo ayude a encontrar la fuente de sus problemas.

0

Acabo de encontrarme con el mismo problema. Por lo que entendí, de hecho se debe al hecho de que mi PC tiene .NET 3.5 SP1 en él, y el servidor al que implementé el proyecto no lo hace.
Por lo que entiendo, una solución es que el servidor se actualice con .NET 3.5 SP1. Como todavía no quiero hacerlo, eliminé el atributo "acción" de todos los formularios del proyecto y eso resolvió el problema.
Read more

0

podría utilizar el method here para establecer el método form.action:

0

todo lo mencionado anteriormente es cierto ...

De hecho, cuando se instala 3.5 SP1, se actualiza automáticamente 2.0 y 3.0 con su propio SP2. Por lo tanto, si usa 2.0 para una aplicación, obtendrá el error.

Además, SP1 en .Net2.0 no causó el problema.

0

Hay otra solución a esto. Escriba un javascript que establezca la acción del formulario en la url esperada en Page_Load y registre el script en la carga de la página.

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

0

Basta Instalar o Marco 3.5 SP1 Que Funciona.

Cuestiones relacionadas