我使用asp.net 4和c#。
我在Web From页面中有一个Web用户控件。 当我包含Web用户控件时,我还希望以编程方式在标记中包含最终生成页面的一些脚本。
知道怎么做吗? 也许ScriptManager可以为此提供帮助?
请向我提供一些代码示例,我非常擅长开发,谢谢您的时间!
答案 0 :(得分:5)
彼得的回答将添加到页面,但不是头部元素。看看这篇文章:
http://weblogs.asp.net/johnkatsiotis/archive/2008/08/08/add-scripts-to-head-dynamically.aspx
它提供了一种使用扩展方法向head元素添加脚本的简洁方法。
答案 1 :(得分: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());
}
...
答案 2 :(得分:1)
我意识到这是一个老问题,但有一个更简单的方法。
试试这个:
Page.Header.Controls.Add(
new LiteralControl(
"<script>alert('Literal Added to <Head>.');</script>"
)
);
如果要在<head>
的特定索引处添加脚本,可以使用
AddAt(index, new LiteralControl(...))
其中索引0等于<head>
此外,joelmdev在评论中提到您需要在头标记中添加runat="server"
,例如<head id="head1" runat="server">