Pressione del tasto Enter/Invio in una textbox inserita in un form (Protect form submission on enter key-press)

La pressione del tasto enter in un qualsiasi campo di input provoca, in un form HTML, lo scatenarsi dell'evento "submit".

(Ho direttamente sperimentato la sconvenienza di tale comportamento progettando un modulo di ricerca di contenuti in un sito web. Per ragioni di progettazione, la texbox  di ricerca, si collocava in un tag form: la pressione del tasto invio nella textbox doveva rimandare ad una pagina sinottico dei risultati di ricerca. Di fatto però la caratteristica standard  del form produceva il postback della pagina impedendo il reindirizzamente voluto.)

 Per disabilitare questa caratteristica è sufficiente inserire nella pagina il seguente codice jquery:

$(function() {

 
    $("form").bind("keypress", function(e) {
            if (e.keyCode == 13) return false;
      });

 
});

 

Redirect per Manutenzione di applicazioni con app_offline.htm

Spesso sorge l'esigenza di impedire al sito di produzione di rispondere alle richieste di pagina per poter svolgere agevolmente le operazioni di aggiornamento o distribuzione di un applicazione web.

In tale contesto gli utenti dovranno così essere reindirizzare ad una pagina di "Sito in muntenzione"; cioò permette di evitare errori che potrebbero verificarsi quando le modifiche sono completate solo parzialmente.

Il modo più semplice per assolvere a tale necessità è di seguire quanto riportato nell'articolo http://msdn.microsoft.com/it-it/library/ff925031.aspx, ovvero
  • Creare un file denominato App_offline.htm (di dimensioni  maggiori di 512 byte) e includervi un messaggio per comunicare agli utenti che il sito non è disponibile perché è in fase di aggiornamento.
  • Posizionare il file App_offline.htm nella cartella radice del sito Web di destinazione.

    Di fatto questa feature era già presente nella versione 2.0 di ASP.NET. La presenta della pagina app_offline.htm provoca lo shutdown dell'Appdomain e diventa l'unica pagina vista da chiunque tenti di connettersi al sito.