1

我在 VS2012 的 ASP.NET Web 窗体项目上工作。该项目有用于所有页面的 Site.Master 页面。我可以将脚本添加到可以编写 jQuery 函数的 Site.Master;没问题。但是,如果我想要将 iQuery 脚本放在项目的某个页面中,你如何以及在哪里放置它?该页面(因为它使用 Site.Master)没有 Head 部分,但只有一个部分:

<asp:Content runat="server" ID="BodyContent" ContentPlaceHolderID="MainContent">

如果我在上述行之前编写脚本,则会出现 VS 问题“仅允许直接在联系页面中使用内容控件...”

那么我将把特定于一页的 jQuery 脚本放在哪里呢?

4

3 回答 3

3

您需要做的是修改您的站点母版页,使其在母版页的头部有一个内容占位符。然后在使用母版页的常规 aspx 页面中放置一个 asp:content 对象,然后在内容对象中放置您的 javascript 代码。

所以你需要一个在你的母版页头:

<asp:ContentPlaceHolder ID="head" runat="server" />

并在您的 aspx 页面中:

<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="Server">

</asp:Content>

但是,如果您正在寻找更好的性能,我会将您的脚本放在页面底部。您可以在此处阅读有关此内容的更多信息:http: //developer.yahoo.com/performance/rules.html#js_bottom

于 2013-10-21T19:06:11.047 回答
1

您可以将其Jquery 放入asp:content例如:

<asp:Content runat="server" ID="BodyContent" ContentPlaceHolderID="MainContent">

<script>
//Your Jquery
</script>
</asp:Content>

唯一需要在页面将使用的主页面中注册 Jquery 库。

我希望这会有所帮助。

于 2013-10-21T19:04:44.780 回答
0

您可以像这样从 page_load 函数中以编程方式添加它:

HtmlGenericControl include = new HtmlGenericControl("script"); 
Include.Attributes.Add("type", "text/javascript"); 
Include.Attributes.Add("src", yourUrl); 
this.Page.Header.Controls.Add(include);
于 2013-10-21T19:07:22.477 回答