2010-06-02 21 views
5

He escuchado diferentes historias sobre ASP.NET y JavaScript: funciona bien con Javascript desactivado, solo algunas partes no funcionan y nada funciona.ASP.NET: ¿Qué se ve afectado exactamente cuando JavaScript está desactivado?

¿Cómo se ven afectadas las aplicaciones ASP.NET si JavaScript está desactivado en el navegador de un cliente? ¿Qué partes no funcionan (si las hay)?

Por ejemplo, will RequiredFieldValidators aún funciona? ¿Qué pasa con UploadControls? AJAX UpdatePanels y AsyncPostBack's? FileUploads? ¿Sigue corriendo el código de la página?

Perdone mi ignorancia, parece que no puedo encontrar mucho sobre el tema en profundidad.

+1

Esto depende tanto de los controles que use y cómo los use que es difícil de responder por completo. Todo AJAX no funcionará, pero el código subyacente siempre se ejecuta. – jball

+1

RequiredFieldValidators seguirá funcionando en el lado del servidor (código subyacente), pero no creo que funcionen en el lado del cliente sin JS. – jball

Respuesta

2

Los LinkButtons no funcionan porque procesan javascript: target.

Si usa los controles GridView con ButtonColumns, estos no funcionarán ya que los botones también son javascript. Una forma de evitar esto es utilizar TemplateColumn y agregar < asp: Button > objetos dentro de él.

También la paginación y clasificación GridView es JavaScript lista para usar, por lo que tendría que escribir paginación y clasificación personalizados.

También cualquier control con AutoPostback establecido en verdadero (por ejemplo, una DropdownList) no se devolverá automáticamente. Podrá capturar SelectedIndexChanged pero SOLAMENTE cuando suceda la siguiente devolución.

5

La validación del lado del cliente y Ajax no funcionarán, incluidas las devoluciones de datos asincrónicas y cualquier control que requiera Javascript para funcionar.

La validación del lado del servidor (que siempre debería ocurrir de todos modos) y las devoluciones de datos completas, deberían funcionar siempre, y creo que también lo sería un control FileUpload. La mayor diferencia sería que alguien no vería que los datos que ingresaron pasaron a ser inválidos hasta que se envió el formulario.

0

Cualquier control que "haga algo" en el lado del cliente sin una solicitud de página completa que vuelva al servidor (es decir, la recarga de toda la página) se realiza a través de JavaScript y no funcionará con JavaScript desactivado.

Recuerde que HTML es estático, por lo que cualquier cosa que "cambie" en la ventana del navegador que no sea efectos de desplazamiento CSS o cualquier cosa que devuelva al servidor sin una recarga de página completa, se realiza a través de JavaScript y no puede esperar que funcione con JavaScript desactivado en el cliente.

Cuestiones relacionadas