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 - 10 mai 2006 à 17:02
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 - 10 mai 2006 à 18:24
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 supprimer 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

jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
10 mai 2006 à 18:24
bonjour,

Ta question concerne plus javascript qu'asp.net :-) va donc plutot sur www.javascriptfr.com juste une précision, pour récuperer l'id unique de ta textbox, il faut passer par un textbox1.ClientID coté serveur !

bon courage


<HR>
Cyril - MVS - MCP
0
Rejoignez-nous