当一切都在一个页面中时,我有一大堆javascript运行良好。现在我把它分开了,我不知道如何包含javascript,在主服务器中输入HEAD标签,而且,我还有在加载主体时运行的函数,但它们也在主服务器中。< / p>
顺便说一句,这是一个.NET 2.0应用程序。
答案 0 :(得分:2)
如果您有特定于某些网页的脚本,而您使用一个主MasterPage
,只需在母版页的头部添加ContentPlaceHolder
即可。
主页:
<head runat="server">
<script type="text/javascript" src="my-site-wide-script.js"></script>
<asp:ContentPlaceHolder ID="cphHead" runat="server" />
</head>
内容页面:
<asp:content ID="cHead" runat="server" ContentPlaceHolderID="cphHead">
<script type="text/javascript" src="some-page-specific-script.js"></script>
</asp:content>
最终结果提供给浏览器(一般情况下):
<head>
<script type="text/javascript" src="my-site-wide-script.js"></script>
<script type="text/javascript" src="some-page-specific-script.js"></script>
</head>
现在,您添加到内容页面的任何脚本都将位于基本脚本之后。使您可以灵活地使用特定于页面的脚本。
请注意:VS2005会抛出警告/错误,在头标记中不允许ContentPlaceHolder
。忽略它,这是VS中的一个错误。 VS2008 +不会打扰你。
答案 1 :(得分:0)
母版页的概念适用于服务器端,您的浏览器只会将结果视为一个页面,因此您可以将javascript函数放在母版的head部分,如果需要或在其余部分中将其调用到内容页面中主页面。
修改强>
您可以在主页的头部放置内容占位符,如果您愿意,子页面可以在头部包含其特定脚本...
实施例
<%@ Master Language="C#" Inherits="System.Web.Mvc.ViewMasterPage" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script type="text/javascript" src="yourglobaljsfile.js"></script>
<asp:ContentPlaceHolder ID="ScriptContent" runat="server" />
</head>
<body>
<div style="position: absolute; width: 100%; top: 0px;">
<asp:ContentPlaceHolder ID="OtherPlaceholer" runat="server" />
</div>
<script type="text/javascript">yourGlobalfunction();</script>
</body>
儿童示例
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<CatalogViewModel>" %>
<asp:Content ID="Content1" ContentPlaceHolderID="MainContent" runat="server">
//blabla
<script type="text/javascript">yourSpecificfunction();</script>
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ScriptContent" runat="server">
<script type="text/javascript" src="yourspecificjsfile.js"></script>
</asp:Content>
答案 2 :(得分:0)
通常,您可以将多个页面使用的常用javascripts放入单独的文件中,并从母版页链接到该页面,并且可以使用
将任何一个off函数包含在其他任何位置。<script type="text/javascript"></script>