ASP.NET2.0之Theme(主题) 使用主题
定义的主题样式后缀为skin 指定主题
在这个页面编辑模式时的控件样式未发生变化,浏览的时候就会发生变化,这个是典型的例子。对于我这样不懂美化界面的人才说,定义样式还是比较难的,因为在编辑模式当中无法直接预览样式。可以把Theme换成StylesheetTheme属性, 这样就可以直接在编辑模式中显示结果样式了。这里存在着样式修改的优先级.定义StylesheetTheme属性的话,可以在页面上再次修改样式.Theme优先级别最高。结果都是一样的 使用themes 1、在1个页面中应用Theme: 如果想在某1个页面中应用Theme,直接在aspx文件中修改,比如你想这个页面应用default2 theme,设置就OK 2、在所有页面应用同1个Theme: 如果要在所有页面上使用相同的Theme,在web.config中的节点下加上句【.NET+C#|ASP.NET 2.0中Theme、MasterPage和代码国际化】 3、让控件不应用Theme: 有时我们不希望应用.skin中的风格,这时你只需设置控件的EnableTheming属性为false的时候就可以了。 另外要注意的是定义了Theme,页面的属性设置会失效。要页面属性生效。需要使用StylesheetTheme代替Theme。如下代码所示 除此之外,我们还可以通过代码访问Theme。注意Page.Theme一定要在Page_PreInit事件之中或者之前定义,代码如下: protected void Page_PreInit() { Page.Theme = Server.HtmlEncode("myTheme");
} 还可以指定空间使用特性的样式
比如两个
IMG
控件
,
指定两个不同的图片
,
需指定
SkinID
属性 <
asp
:
ImageButton
ID="ImageButton1" runat="server" SkinID="OKButton" /> <
asp
:
ImageButton
ID="ImageButton2" runat="server" SkinID="CancelButton" /> 不使用主题,使用CSS来改变 使用
Style
类 void
Page_Load(Object sender, EventArgs e) { Style myStyle = new Style();
myStyle.BackColor = Color.Yellow;
myStyle.ForeColor = Color.Green;
myStyle.BorderStyle = BorderStyle.Dashed;
myStyle.BorderWidth = new Unit(4);
txtTextBox1.ApplyStyle( myStyle );
txtTextBox2.ApplyStyle( myStyle );
txtTextBox3.MergeStyle( myStyle );
} 添加样式表 <
script
runat="Server"> void
lbtnScript_Click(object s, EventArgs e) { myLabel.CssClass = "myClass1";
} void
lbtnVerdana_Click(object s, EventArgs e) { myLabel.CssClass = "myClass2";
}
script
> <
html
> <
head
>