2010-04-04 62 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