"<head>"和"<asp:Content ID="HeaderContent" ...>"有什么区别?(涉及IT技术)

5
这可能是一个新手问题,但我对asp.net和C#等技术还不太熟悉。
我正在使用一个ASP.net网站,并且对其结构(在自动创建Web项目后)很感兴趣,特别是以下内容:
我发现在Default.aspx中,有一个类似于这样的标签:
<asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent">
</asp:Content>**strong text**

但是在Site.master中,我有这个代码:
<head runat="server">
*etc*
</head>

如果我想包含要在页面加载时运行的JavaScript代码,我应该把代码放在哪里?


2
在使用该主文件的每个页面上,还是只在Default.aspx上?顺便说一句,如果您想在页面加载时运行JavaScript,则可以将该JavaScript放在页面底部(这有助于页面性能)。 - Šime Vidas
4个回答

7

我相信你可以把你的代码放在其中任何一个位置。第一个位置是用于添加所有内容页面(使用该主页面文件)所使用的代码或脚本,而第二个位置则是用于从内容页面 添加代码或脚本(仅应用于此特定页面)。

//in the Master page, the content here is used by all content pages
<head runat="server">
*etc*
</head>

并且

//this is specific to the content page that use it. This section needs to be supplied in content pages
<asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent">
</asp:Content>

每个内容页面都需要提供该部分,它将专属于该页面 - 没有其他页面可以使用该部分中的脚本。


6

asp:Content ID="HeaderContent" 是一个内容区域。该标记内的任何内容在生成主页面时都会嵌入关联的 ContentPlaceHolder 中。

head 是一个标准的 html 标记,用于指示页面头部元素。通常,HeadContent 占位符位于主页面的 head 标记内。


1
元素是所有元素的容器,必须为文档使用标题。 它可以包括其他一些元素:样式(style),基础(base),链接(link),元数据(meta),脚本(script),无脚本(noscript)。

asp: Content ID =“HeaderContent”是主页面的内容元素。请查看以下链接中的插入内容部分,获取详细信息:http://odetocode.com/articles/419.aspx


0

我想你问的是当你想在代码中使用JavaScript时,应该把JS放在哪里。你可以将其放置在ASP侧的任何位置,例如脚本块之间:

<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
     <script type="text/javascript">
        function Onclick(){
             //some codes
        }
     </script>
</asp:Content>

或者

    <head runat="server">
     <script type="text/javascript">
        function Onclick(){
             //some codes
        }
     </script>
   </head>

同时,您可以将JS放在此标签之外。您只需要使用 标签即可。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接