2011-08-03 73 views
2

我使用asp.net 4和c#。如何在頁面中添加腳本動態

我在Web From頁面中有一個Web用戶控件。 當我包含Web用戶控件時,我還希望通過編程方式在最終生成的頁面的標籤內包含一些腳本。

任何想法如何做到這一點? 也許ScriptManager可以提供幫助嗎?

請給我一個代碼樣本,我非常感謝你在這方面的感謝!

回答

3

查看ClientScriptManager的RegisterClientScriptBlock

從MSDN:

... 
ClientScriptManager cs = Page.ClientScript; 

// Check to see if the client script is already registered. 
if (!cs.IsClientScriptBlockRegistered(csType, csName)) 
{ 
    StringBuilder csText = new StringBuilder(); 
    csText.Append("<script type=\"text/javascript\"> function DoClick() {"); 
    csText.Append("Form1.Message.value='Text from client script.'} </"); 
    csText.Append("script>"); 
    cs.RegisterClientScriptBlock(csType, csName, csText.ToString()); 
} 
... 
+0

感謝彼得我明白,我仍然有一個問題,使用一個母版頁,有線的東西是從一個沒有母版頁的網頁腳本工作正常,如果有一個mp我不能夠添加 ...任何想法如何解決它?感謝您在這方面的時間。 – GibboK

1

我意識到這是一個老問題,但有一個更簡單的方法。

試試這個:

Page.Header.Controls.Add(
    new LiteralControl(
     "<script>alert('Literal Added to <Head>.');</script>" 
    ) 
); 

如果你想在<head>的特定索引添加腳本可以使用

AddAt(index, new LiteralControl(...))其中index 0等於的<head>

而且頂部,joelmdev在評論中提到,您需要在頭標記中添加runat="server"<head id="head1" runat="server">

相關問題