2010-03-24 5 views
1

Salut j'ai un usercontrol qui comprend un peu de JavaScript, si j'ajouter le contrôle à une page Web standard, je peux commencer le JavaScript dans la balise body, comme celui-ciDémarrer javascript de la page asp.net

<body onLoad="Start()"> 

Le Le problème est que j'ai besoin d'ajouter le contrôle à une page Web qui se trouve dans une page maître, comment puis-je démarrer le script lorsqu'une page à l'intérieur d'une page maître n'a pas de balise body.

Répondre

1

Vous pouvez remplacer le tag de corps par runat server et lui donner un identifiant.

<body id="masterBody" runat="server"> 

Puis chargement de la page:

public void Page_Load(Object sender, EventArgs e) 
{ 
HtmlGenericControl body = (HtmlGenericControl)Master.FindControl("masterBody"); 
body.Attributes.Add("onload", "Start()"); 
} 
0

Essayez de se lier à l'événement DOM document.ready pour charger votre contenu après que le document a terminé le rendu

2

Vous pouvez vous inscrire à l'aide:

Page.ClientScript.RegisterStartupScript() 

Pour votre cas, ce serait ceci:

Page.ClientScript.RegisterStartupScript(GetType(), "MyScript", "Start()", true); 
2

Incluez jQuery et placez votre code d'initialisation à $(document).ready(). Si vous souhaitez utiliser strictement la fonctionnalité .NET et que votre page est correctement balisée avec runat="server", vous pouvez aussi utiliser Page.ClientScript.RegisterStartupScript().

Questions connexes