2010-04-04 3 views
4

Je cherche un moyen d'insérer un bloc de code javascript à la fin de la page ASP.NET.Ajout d'une pièce de code javascript à la fin de la balise body

Page.ClientScript.RegisterClientScriptBlock(typeof(Page), "showVideo", sScript, true); 

est ajouté au corps mais les codes js demandent toujours que certains fichiers js ne se chargent pas ou que certaines fonctions sont en dessous du script.

Comment puis-je ajouter des scripts générés dynamiquement au bas du corps?

Merci pour votre aide.

Répondre

10

Nous utilisons quelque chose comme

public static void GenerateJsTag(this TemplateControl page, string jsCode) 
    { 
     var jsLink = new HtmlGenericControl {TagName = "script", InnerHtml = jsCode }; 
     jsLink.Attributes.Add("type", "text/javascript"); 
     page.Controls.Add(jsLink); 
    } 

espoir qui va aider;)

+0

Merci Thomas. Votre solution est également très bonne. J'ai trouvé la réponse maintenant et posté mais je marquerai votre réponse. Merci encore. – uzay95

9

Adding Client-Side Script Blocks with RegisterStartupScript() and RegisterClientScriptBlock()

La seule différence entre ces deux méthodes est l'endroit où chacun émet le bloc de script. RegisterClientScriptBlock() émet le bloc de script au début du formulaire Web (juste après l'étiquette), tandis que RegisterStartupScript() émet le bloc de script à la fin du formulaire Web (à droite avant l'étiquette </form>).

+1

Très important de noter que les méthodes RegisterScript sont liées à

pas de balises body ou html. @ uzay95 merci pour la clarification. – Mike

+1

Vous penseriez que ces méthodes auraient des noms plus descriptifs comme RegisterScriptAtBeginning() et RegisterScriptAtEnd() parce que je * toujours * ne me souviens plus de qui est quoi. Mais c'est Microsoft, je suppose – shiggity

Questions connexes