Page.Header.Controls.Add方法在 asp.net 4 中 在body标签中添加样式和脚本,而不是在head标签中添加
可以使用另一种方法在head标签中添加样式和脚本吗?
Asp.Net 4
答案 0 :(得分:0)
有很多方法可以实现这一点,下面我将解释其中的两个
I。在头部使用文字控制
WebForm1.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="tempApp.WebForm1" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<asp:Literal ID="litHeader" runat="server" />
</head>
<body>
<form id="form1" runat="server">
<h1>
Hello World
</h1>
</form>
</body>
</html>
WebForm1.aspx.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
namespace tempApp
{
public partial class WebForm1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
litHeader.Text = @"
<style>h1 { color: red; }</style>
<script>alert('Hello World')</script>
";
}
}
}
在此过程中,我在“ head”部分中做了一个文字控件,然后将我的样式和脚本内容从页面加载后的代码传递给了
II。使用HtmlGenericControl类
WebForm2.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm2.aspx.cs" Inherits="tempApp.WebForm2" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<h1>
Hello World
</h1>
</form>
</body>
</html>
WebForm2.aspx.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
namespace tempApp
{
public partial class WebForm2 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
var styleControl = new HtmlGenericControl();
styleControl.TagName = "style";
styleControl.Attributes.Add("type", "text/css");
styleControl.InnerHtml = "h1 { color: red; }";
Page.Header.Controls.Add(styleControl);
var scriptControl = new HtmlGenericControl();
scriptControl.TagName = "script";
scriptControl.Attributes.Add("type", "text/javascript");
scriptControl.InnerHtml = "alert('Hello World')";
Page.Header.Controls.Add(scriptControl);
}
}
}
在此,我使用了HtmlGenericControl类,该类在使用System.Web.UI.HtmlControls命名空间时使用,我可以创建HTML通用控件,以后再将其添加到页面上。
仍然有很多方法可以实现这一目标。希望对您有帮助