2010-04-04 71 views
4

我正在寻找一种将JavaScript代码块插入ASP.NET页面结尾的方法。将javascript代码段添加到正文标记的末尾

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

附加到body但js代码总是请求一些js文件没有加载或某些函数在脚本的下面。

如何将我生成的脚本动态添加到主体的底部?

感谢您的帮助。

回答

10

我们正在使用类似

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); 
    } 

希望这将帮助;)

+0

谢谢托马斯。你的解决方案也很好。我现在找到答案并发布了,但我会标记你的答案。再次感谢。 – uzay95 2010-04-04 10:39:47

9

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

这两种方法之间唯一的区别就是每个人发出脚本块。 的RegisterClientScriptBlock()发出脚本块在Web窗体的开始(标签之后),而的RegisterStartupScript()发出脚本块在Web窗体的结尾(右在</form>标签之前)。

+1

需要注意的是,RegisterScript方法与

不是body或html标记有关。 @ uzay95感谢您的澄清。 – Mike 2016-08-17 18:54:20

+1

你会认为这些方法会有更多的描述性名称,比如RegisterScriptAtBeginning()和RegisterScriptAtEnd(),因为我*仍然不记得哪个是哪个。但我猜这就是微软 – shiggity 2017-08-16 17:52:35