如何使Page.ClientScript.RegisterClientScriptInclude包含在头部?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (23)

包含的脚本引用,特别是jQuery,在ViewState之后呈现。有什么方法可以在<head>中找到这个吗?

Page.ClientScript.RegisterClientScriptInclude("jQuery", "/scripts/jquery.js");

我正在尝试在用户控件的页面加载中注册jquery.js。

提前谢谢!

提问于
用户回答回答于

直接包含在HEAD中:

HtmlGenericControl Include = new HtmlGenericControl("script"); 
Include.Attributes.Add("type", "text/javascript"); 
Include.Attributes.Add("src", sInclude); 
this.Page.Header.Controls.Add(Include); 

用户回答回答于

我之前遇到了这个问题,最后我没有使用RegisterClientScriptInclude。

我将一个占位符放在页面的标题中,并通过HtmlGenericControl将脚本标记添加到占位符中。

我会看看是否能找到我的代码,我会用它来编辑我的答案。

编辑

我找不到我的代码,所以我重新创建了它:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebApplication1._Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <asp:PlaceHolder runat="server" ID="HeadPlaceHolder"></asp:PlaceHolder>
</head>    
<body>
    ...
</body>
</html>

代码的背后:

protected void Page_Load(object sender, EventArgs e)
{
    HeadPlaceHolder.Controls.Add(/* Your control here */);
}

扫码关注云+社区