在ASP.NET页面中编写jQuery脚本的位置?

时间:2013-10-21 19:01:16

标签: jquery asp.net

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

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

如果我在上面的行之前编写脚本,我会遇到VS问题“只有内容控件才能直接在竞争页面中...”

那么我将jQuery脚本特定于哪一页?

3 个答案:

答案 0 :(得分:3)

您需要做的是修改您的网站母版页,以在母版页的head部分中添加内容占位符。然后在使用母版页的常规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

答案 1 :(得分:1)

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

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

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

您需要在页面将使用的主页面中注册Jquery libray。

我希望有所帮助。

答案 2 :(得分: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);