Ecco il codice. E' un controllo utente (un esercizio di controllo utente) che non fa altro che scrivere l'ora e la data client.
NOTA: ti copio il codice funzionante tale e quale in Basic
![]()
orologio.ascx
Codebehindcodice:<%@ Control Language="vb" AutoEventWireup="false" Codebehind="orologio.ascx.vb" Inherits="sitae.orologio" TargetSchema="http://schemas.microsoft.com/intellisense/ie5" %> <asp:Label id="lblOrario" runat="server" Font-Size="XX-Small" Font-Names="Tahoma" ></asp:Label>
codice:Public Class orologio Inherits System.Web.UI.UserControl #Region " Codice generato da Progettazione Web Form " 'Chiamata richiesta da Progettazione Web Form. <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent() End Sub Protected WithEvents lblOrario As System.Web.UI.WebControls.Label 'NOTA: la seguente dichiarazione è richiesta da Progettazione Web Form. 'Non spostarla o rimuoverla. Private designerPlaceholderDeclaration As System.Object Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init 'CODEGEN: questa chiamata al metodo è richiesta da Progettazione Web Form. 'Non modificarla nell'editor del codice. InitializeComponent() End Sub #End Region Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 'Inserire qui il codice utente necessario per inizializzare la pagina 'If Me.lblOrario.Visible Then CreaScript() messo in prerender End Sub Private Sub CreaScript() Dim ClientID$ = Me.lblOrario.ClientID Dim CrLf$ = "" If Me.StessaRiga Then CrLf = "," Else CrLf = " " Dim BoldData1$ = "", BoldData2$ = "" If Me.BoldData Then BoldData1 = "" BoldData2 = "" End If Dim BoldOra1$ = "", BoldOra2$ = "" If Me.BoldOra Then BoldOra1 = "" BoldOra2 = "" End If Dim script$ = "" script &= "<script>" script &= String.Format("function {0}_showclock()", ClientID) script &= "{" script &= " var tempo = document.getElementById(""" & ClientID & """);" script &= " var mesi = [""Gennaio"",""Febbraio"",""Marzo"",""Aprile"",""Maggio"",""Giugno"",""Luglio"",""Agosto"",""Settembre"",""Ottobre"",""Novembre"",""Dicembre""];" script &= " var oggi = new Date();" script &= " var anno = oggi.getFullYear();" script &= " var mese = oggi.getMonth();" script &= " var giorno = oggi.getDate();" script &= " var ora = oggi.getHours() + """"; if(ora.length < 2) ora = ""0"" + ora;" script &= " var minuto = oggi.getMinutes() + """"; if(minuto.length < 2) minuto = ""0"" + minuto;" script &= " var secondo = oggi.getSeconds() + """"; if(secondo.length < 2) secondo = ""0"" + secondo;" 'script &= " var orologio = """ & BoldData1 & """ + giorno + "" "" + mesi[mese] + "" "" + anno + """ & CrLf & """ + """ & BoldData2 & """ + """ & BoldOra1 & """ + ora + "":"" + minuto + "":"" + secondo + """ & BoldOra2 & """ ;" script &= " var orologio = """ If Me.DataVisibile Then script &= BoldData1 & """ + giorno + "" "" + mesi[mese] + "" "" + anno + """ End If If Me.OraVisibile Then If Me.DataVisibile = False Then CrLf = "" script &= CrLf & """ + """ & BoldData2 & """ + """ & BoldOra1 & """ + ora + "":"" + minuto + "":"" + secondo + """ & BoldOra2 End If script &= """ ;" script &= " tempo.innerHTML = orologio;" script &= "}" & vbCrLf script &= String.Format(";{0}_showclock();window.setInterval(""{0}_showclock()"", 1000);", ClientID) script &= "</script>" Me.Page.RegisterStartupScript(ClientID & "_showclock", script) End Sub Public Property label() As label Get Return Me.lblOrario End Get Set(ByVal Value As label) Me.lblOrario = Value End Set End Property Private _StessaRiga As Boolean = True 'default Public Property StessaRiga() As Boolean Get If Me.IsPostBack Then Dim j As Object = Me.ViewState("StessaRiga") If Not (j Is Nothing) Then Me._StessaRiga = CBool(j) End If End If Return Me._StessaRiga End Get Set(ByVal Value As Boolean) Me._StessaRiga = Value 'salvo il valore nel viewstate Me.ViewState("StessaRiga") = Value End Set End Property Private _BoldData As Boolean = False 'default Public Property BoldData() As Boolean Get If Me.IsPostBack Then Dim j As Object = Me.ViewState("BoldData") If Not (j Is Nothing) Then Me._BoldData = CBool(j) End If End If Return Me._BoldData End Get Set(ByVal Value As Boolean) Me._BoldData = Value 'salvo il valore nel viewstate Me.ViewState("BoldData") = Value End Set End Property Private _BoldOra As Boolean = False 'default Public Property BoldOra() As Boolean Get If Me.IsPostBack Then Dim j As Object = Me.ViewState("BoldOra") If Not (j Is Nothing) Then Me._BoldOra = CBool(j) End If End If Return Me._BoldOra End Get Set(ByVal Value As Boolean) Me._BoldOra = Value 'salvo il valore nel viewstate Me.ViewState("BoldOra") = Value End Set End Property Private _OraVisibile As Boolean = True 'default Public Property OraVisibile() As Boolean Get If Me.IsPostBack Then Dim j As Object = Me.ViewState("OraVisibile") If Not (j Is Nothing) Then Me._OraVisibile = CBool(j) End If End If Return Me._OraVisibile End Get Set(ByVal Value As Boolean) Me._OraVisibile = Value 'salvo il valore nel viewstate Me.ViewState("OraVisibile") = Value End Set End Property Private _DataVisibile As Boolean = True 'default Public Property DataVisibile() As Boolean Get If Me.IsPostBack Then Dim j As Object = Me.ViewState("DataVisibile") If Not (j Is Nothing) Then Me._DataVisibile = CBool(j) End If End If Return Me._DataVisibile End Get Set(ByVal Value As Boolean) Me._DataVisibile = Value 'salvo il valore nel viewstate Me.ViewState("DataVisibile") = Value End Set End Property Private Sub Page_PreRender(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.PreRender If Me.lblOrario.Visible Then CreaScript() End Sub End Class
test_orologio.aspx
Codebehindcodice:<%@ Page Language="vb" AutoEventWireup="false" Codebehind="test_orologio.aspx.vb" Inherits="sitae.test_orologio" %> <%@ Register TagPrefix="uc1" TagName="orologio" Src="orologio.ascx" %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <title>test_orologio</title> <meta name="GENERATOR" content="Microsoft Visual Studio.NET 7.0"> <meta name="CODE_LANGUAGE" content="Visual Basic 7.0"> <meta name="vs_defaultClientScript" content="JavaScript"> <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5"> <script language="JavaScript1.2"> var n = (document.layers) ? 1:0; var ie = (document.all) ? 1:0; var layer=(n)?'layer':'div' function dragObj(obj,nest){ nest=(!nest) ? '':'document.'+nest+'.' this.css=(n) ? eval(nest+'document.'+obj):eval('document.all.'+obj+'.style') this.evnt=(n)? eval(nest+'document.'+obj):eval(obj); this.getLeft=b_getLeft; this.getTop=b_getTop; this.moveIt=b_moveIt; this.name=obj return this } function b_moveIt(x,y){ this.css.left=x this.css.top=y } function b_getLeft(){ x=(n)? this.css.left:this.css.pixelLeft return x } function b_getTop(){ y=(n)? this.css.top:this.css.pixelTop return y } function dragInit(){ if(n) document.captureEvents(Event.MOUSEMOVE | Event.MOUSEDOWN | Event.MOUSEUP) document.onmousedown=mdown document.onmouseup=mup document.onmousemove=mmove; } function mmover(num){ oDrag[num].isOver=true } function mmout(num){ oDrag[num].isOver=false } function mup(){ for(var i=0; i<oDrag.length;i++){ if(oDrag[i].isOver) { oDrag[i].drag=false } } } function mdown(num){ x=(n)?num.pageX:event.x y=(n)?num.pageY:event.y for(var i=0; i<oDrag.length;i++){ if(oDrag[i].isOver) { oDrag[i].drag=true oDrag[i].clickedX=x-oDrag[i].getLeft() oDrag[i].clickedY=y-oDrag[i].getTop() cZIndex++ oDrag[i].css.zIndex=cZIndex } } } function mmove(e){ x=(n)?e.pageX:event.x y=(n)?e.pageY:event.y for(var i=0; i<oDrag.length;i++){ if(oDrag[i].drag) oDrag[i].moveIt(x-oDrag[i].clickedX,y-oDrag[i].clickedY) } } function init(){ dragInit() oDrag=new Array() oDrag[0]=new dragObj('divDrag0') //oDrag[1]=new dragObj('divDrag1') //oDrag[2]=new dragObj('divDrag2') } cZIndex=10 if(n || ie) onload=init; </script> </HEAD> <body MS_POSITIONING="GridLayout" style="BACKGROUND-COLOR: #ffffcc"> <form id="Form1" method="post" runat="server"> <uc1:orologio id="Orologio1" runat="server"></uc1:orologio> <div id="divDrag0" style="BACKGROUND-POSITION: 0% 0%; BACKGROUND-ATTACHMENT: scroll; LEFT: 100px; BACKGROUND-IMAGE: none; BACKGROUND-REPEAT: repeat; POSITION: absolute; TOP: 100px" language="JavaScript1.2" onmouseover="mmover(0)" onmouseout="mmout(0)"> <uc1:orologio id="Orologio2" runat="server"></uc1:orologio> </div> </form> </body> </HTML>
codice:Public Class test_orologio Inherits System.Web.UI.Page Protected WithEvents Panel1 As System.Web.UI.WebControls.Panel Protected WithEvents Orologio1 As orologio Protected WithEvents Orologio2 As orologio #Region " Codice generato da Progettazione Web Form " 'Chiamata richiesta da Progettazione Web Form. <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent() End Sub Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init 'CODEGEN: questa chiamata al metodo è richiesta da Progettazione Web Form. 'Non modificarla nell'editor del codice. InitializeComponent() End Sub #End Region Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 'Inserire qui il codice utente necessario per inizializzare la pagina Me.Orologio2.StessaRiga = False Me.Orologio2.BoldData = True Me.Orologio2.BoldOra = True 'Me.Orologio2.OraVisibile = False 'Me.Orologio2.DataVisibile = False Me.Orologio2.label.ForeColor = Color.Yellow Me.Orologio2.label.Font.Size = FontUnit.XXLarge Me.Orologio2.label.BackColor = Color.Red Me.Orologio2.label.BorderColor = Color.Black Me.Orologio2.label.BorderStyle = BorderStyle.Double Me.Orologio2.label.Style.Add("TEXT-ALIGN", "center") Me.Orologio2.label.Style.Add("width", "500px") 'Me.Orologio1.Visible = False 'Me.Orologio2.Visible = False End Sub End Class

) che non fa altro che scrivere l'ora e la data client.
Rispondi quotando