2012-04-13 20 views

Respuesta

11

Ésta es una entrada antigua, pero para referencia futura en ASP.NET uno puede hacer lo siguiente para evitar la acción en blanco atributos:

<form action="#" runat="server"> 

Esto validará con el W3C y no requiere que hagas ningún daño especial codificación para detectar la url de la página en la que se encuentra actualmente.

+0

En realidad, esto es problemático. Si intenta hacer una publicación con la solución action = "#", obtendrá un error del lado del servidor verbo HTTP. – abegosum

+0

@abegosum He estado usando esta solución por un tiempo en ASP.NET sin su problema informado, ¿alguna idea de por qué sucede esto? –

+0

¿Puede haber un problema con la versión o configuración de IIS (sospecho que es una configuración de seguridad para evitar ciertos tipos de inyección de scripts)? ¿Tu página está haciendo una devolución de datos? – abegosum

2

Omita el atributo action. Según los borradores HTML5, no es obligatorio, pero si está presente, su valor debe ser no vacío. Referencia: borrador de WHATWG HTML5, description of action attribute.

+1

En ASP.NET no se puede omitir el atributo de acción, si el código

va a proporcionar como ; es solo la forma en que funciona Consulte mi respuesta para una mejor solución. –

+2

Cada vez que aprendo algo nuevo sobre ASP.NET lo odio un poco más. – Quentin

7
form1.Action = Request.Url.AbsoluteUri; 

esto está funcionando para mí

Cuestiones relacionadas