我的asp.net页面是这样的:
default . aspx:
<%@ Page Title="Home Page" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true"
CodeFile="Default.aspx.cs" Inherits="_Default" %>
<asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent"></asp:Content>
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
...
</asp:Content>
Default.aspx.cs:
protected void Page_Load(object sender, EventArgs e) {
BodyContent.Style["background-color"] = "Red"; // #1 This code doesn't work
}
我想修改页面的背景色。我把代码放在上面(#1),它不起作用。
那么,如何修改页面的背景色呢?
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
<div runat="server" ID="divMain">
</div>
</asp:Content>
protected void Page_Load(object sender, EventArgs e) {
divMain.Style.Add("background-color", "red");
}
或者你可以这样做
Page.Header.Controls.Add(
new LiteralControl(
@"<style type='text/css'>
.myClass
{
background-color: red;
}
</style>
"
)
);
你不能样式化Content
控件,因为它们不呈现为任何HTML元素。它们只是用来分隔文件之间的内容。
您可以在header中放置一个style
元素:
<asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent">
<style type="text/css">
body { background-color: red; }
</style>
</asp:Content>
在主页的内容占位符周围使用DIV
,并使用CSS
来设置div的样式。
这将导致
<div class="mydiv">
<asp:ContentPlaceHolderID="MainContent">
...
</asp:Content>
</div>