asp.net – 了解runat服务器属性

我真的很新的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)

http://www.asp.net/web-forms/tutorials/master-pages/specifying-the-title-meta-tags-and-other-html-headers-in-the-master-page-vb

相关文章

项目要求通过网站上传大文件,比如视频文件,通过摸索实现了文件分片来上传,然后后台进行合并。 使用了...
安装新版本的Nginx(vim /etc/yum.repos.d/nginx.repo) [nginx-stable] name=nginx stable repo baseu...
什么是 SignalR&#160;ASP.NET Core ASP.NET Core SignalR 是一种开放源代码库,可简化将实时 web 功...
在Windows下使用Docker,我们选择Docker Desktop这个软件,非常方便。 ## Docker Desktop介绍及安装 Do...
项目开始设计的是运行在windows下,所以一开始采用的是windows服务模式来获取多媒体文件信息,后来要求...
银河麒麟高级服务器操作系统V10是针对企业级关键业务,适应虚拟化、云计算、大数据、工业互联网时代对主...