Spesso l'inserimento di date è un'operazione noiosa e che può portare ad errori. Sfruttando il calendar di ASP.NET si può ovviare a questo problema. Per prima cosa, dobbiamo creare la form, con un comodo link dopo la stessa che invoca una funzione Javascript client-side, qui riportata, a cui passeremo l'ID di form e control:
<SCRIPT Language="JavaScript"><!-- function popdate(campo, valore) { CalWin = window.open('calendar.aspx?campo='+campo+'&data='+valore, 'calwindow','width=200,height=180,scrollbars=no,toolbar=no') } //--></SCRIPT> <form name="frm"> Data: <input type="text" name="data"> <a href="javascript:popdate('frm.data', '');">Seleziona data</a> <input type="submit"> </form>
Nella pagina calendar.aspx, richiamata dalla funzione Javascript, inseriremo questo codice, che creerà un semplice calendar:
<SCRIPT runat="server"> Sub ShowDate(sender As Object, e As EventArgs) Response.Write ("<S" + "CRIPT language=""Javascript""><!--" & VbCrlf) Response.Write ("window.opener.document.getElementById('" & Request.Params("campo") & "').value='") Response.Write (cal.SelectedDate.ToString("dd/MM/yyyy") & "';" & VbCrLf) Response.Write ("self.close();" & VbCrLf) Response.Write ("--></SCRIP") Response.Write ("T>") End Sub </SCRIPT> <asp:calendar id="cal" runat="server" onselectionchanged="ShowDate" />
In questo modo avremo, in tutte le pagine della nostra web application (anche Classic ASP) un comodo calendar che si aprirà in una popup.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Generare file per il download da Blazor WebAssembly
Effettuare il deploy di immagini solo da container registry approvati in Kubernetes
Personalizzare l'errore del rate limiting middleware in ASP.NET Core
Utilizzare le Cache API di JavaScript per salvare elementi nella cache del browser
Recuperare un elemento inserito nella cache del browser tramite API JavaScript
Load test di ASP.NET Core con k6
Implementare il throttling in ASP.NET Core
Filtrare e rimuovere gli elementi dalla cache del browser tramite le API JavaScript
Eseguire operazioni con timeout in React
Short-circuiting della Pipeline in ASP.NET Core