如何在页面中添加脚本动态
本文关键字:head 动态 脚本 添加 | 更新日期: 2023-09-27 18:04:18
我使用asp.net 4和c#。
我有一个Web用户控件在Web From页面。当我包括Web用户控件时,我还想在最终生成的页面的标签中以编程方式包括一些脚本。
你知道怎么做吗?也许ScriptManager可以在这方面提供帮助?
请给我提供一个代码示例,我在开发方面很新,感谢您的时间!
Peter的回答将添加到页面中,但不包含head元素。看看这篇文章:
http://weblogs.asp.net/johnkatsiotis/archive/2008/08/08/add-scripts-to-head-dynamically.aspx它提供了一个使用扩展方法向head元素添加脚本的好方法。
我知道这是一个老问题,但是有一个更简单的方法。
试试这个:
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">
看一下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());
}
...