Problème d'affichage dans un UserControl

damiendu56 Messages postés 51 Date d'inscription mardi 19 avril 2005 Statut Membre Dernière intervention 13 juillet 2006 - 11 mai 2006 à 08:59
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 - 11 mai 2006 à 15:55
bonjour à tous,



Je développe actuellement une application sous Visual C#.NET


Sur toute cette application, je souhaite afficher la date et l'heure en
temps actuel. J'ai donc créé un UserControl que je place sur toutes les
pages. Sur ce UserControl j'ai un TextBox (id : TextBox1) qui doit
afficher l'heure grâce a un script javascript. Le problème c'est que je
n'ai rien qui s'affiche dans ce TextBox.



Voici le code de mon UserControl :



public class test : System.Web.UI.UserControl

{

protected System.Web.UI.WebControls.TextBox TextBox1;



private void Page_Load(object sender, System.EventArgs e)

{

if(!Page.IsPostBack)

{

if(!Page.IsClientScriptBlockRegistered("MyScript"))

{



Page.RegisterClientScriptBlock("MyScript","<SCRIPT
Language='JavaScript'
src='.\\Composants\\TimTec.js'></SCRIPT>");

}

}

}



#region Code généré par le Concepteur Web Form

override protected void OnInit(EventArgs e)

{

//

//
CODEGEN : Cet appel est requis par le Concepteur Web Form ASP.NET.

//

InitializeComponent();

base.OnInit(e);

}



/// <summary>

///
Méthode requise pour la prise en charge du
concepteur - ne modifiez pas

///
le contenu de cette méthode avec l'éditeur de code.

/// </summary>

private void InitializeComponent()

{

this.Load += new System.EventHandler(this.Page_Load);



}

#endregion

}



Et le script :

var delai;

function debuteTemps(delai)

{

var jourHeure = "", jr, ms, an, hr, min, sec;

ladate = new Date();

jr = ladate.getDay();

if (jr < 10) jourHeure += "0" + jr;

else jourHeure += jr;

ms = ladate.getMonth();

if (ms < 10) jourHeure += "/0" + ms;

else jourHeure += "/" + ms;

an = ladate.getFullYear();

jourHeure += "/" + an;

hr = ladate.getHours();

if (hr < 10) jourHeure += " 0" + hr;

else jourHeure += " " + hr;

min = ladate.getMinutes();

if (min < 10) jourHeure += ":0" + min;

else jourHeure += ":" + min;

sec = ladate.getSeconds();

if (sec < 10) jourHeure += ":0" + sec;

else jourHeure += ":" + sec;

document.getElementById(TextBox1).value = jourHeure;

setTimeout("debuteTemps(delai)");

}




A mon avis c'est la ligne en gras dans mon script qui n'est pas bonne
car elle provoque une erreur sur la page. Et il n'y a plus d'erreur sur
la page lorsque je supprime la ligne du script. Le problème c'est que
je ne vois pas comment appelé le TextBox pour lui donner la valeur
autrement......



Si quelqu'un a une idée....



Merci d'avance à tous.

1 réponse

cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
11 mai 2006 à 15:55
bonjour,
en activant le debugger IE ou/et en regardant la console JavaScript FF/opera...
on a de manière précise la ligne en erreur....
à priori cependant : document.getElementById("TextBox1").value = jourHeure;
sauf si TextBox1 est une variable qui contien l'ID du champ....
cordialement Bul. Site
0
Rejoignez-nous