我真的很新的ASP.NET。我只是检出一个默认的ASP.NET Web应用程序。它默认带有几页(Default.aspx,About.aspx等)。
我注意到Site.master文件是我为我的页面创建主布局的文件。
但我也注意到head标签有一个runat =“server”属性。
我知道这个标签用于< asp:XXX>标签,但是为什么在< head>标签???
此外,当我删除该属性,那么所有的样式都从网页。所以显然它做了一些事情。我只是不明白它的确在做什么…
那么为什么它在那里,在一个HTML标签… ???我没有看到任何代码,应该在服务器上运行…
<head runat="server"> <title>Hallo</title> <link href="~/Styles/Site.css" rel="stylesheet" type="text/css" /> <!-- This part is run on the server. So why does the head tag also need a runat=server ?? --> <asp:ContentPlaceHolder ID="HeadContent" runat="server"> </asp:ContentPlaceHolder> </head>
解决方法
head元素包含一个runat =“server”属性,表示它是一个服务器控件(而不是静态HTML)。所有ASP.NET页面派生自Page类,它位于System.Web.UI命名空间中。这个类包含一个Header属性,提供对页面区域的访问。使用Header属性,我们可以设置一个ASP.NET页面的标题或添加额外的标记到呈现的部分。然后,可以通过在页面的Page_Load事件处理程序中写入一小段代码来自定义内容页面的元素。
' Programmatically add a <Meta> element to the Header Dim keywords As New HtmlMeta() keywords.Name = "keywords" keywords.Content = "master page,asp.net,tutorial" Page.Header.Controls.Add(keywords)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。