Error de compilación httpRuntime en targetFramework

Si te aparece el siguiente mensaje:

Parser Error Message: It is an error to use a section registered as allowDefinition='MachineToApplication' beyond application level

En la línea

<httpRuntime targetFramework = "4.5"/>

Con retirar esta línea del web.config, te bastará para poder seguir operando ya que si no se indica, la versión del framework, la inferirá automaticamente. Esto probablemente sucederá cuando hagas pruebas en hosting, donde no tienes mucho control sobre el IIS.

Tu FORM en ASP no recupera datos en método POST.

Si te estas volviendo loco intentando leer variables de un formulario vía POST y te retorna vacío, sigue las siguientes recomendaciones.

El elemento FORM, debe incluir el atributo runat=”server”.

<form action="Default.aspx" method="post" runat="server" >

Usa NAME en lugar de ID

Para que el Request.Form pueda cargar la colección, el atributo que necesita cada control, es NAME, no ID.

Esto falla:

  <input id="Nombre" type="text"/>

Esto funciona:

  <input name="Nombre" type="text"/>

En algunas versiones, la barra de cierre del tag, puede dar algún problema. Prueba a quitarla.

Con Barra:

  <input name="Nombre" type="text"/>

Sin Barra:

  <input name="Nombre" type="text">

Comprueba que las directivas IIS no den problemas de nivel de permisos.