有关页面样式问题,高手请进,散分 像阿里巴巴那样的会员在后台更改自己商铺前台显示的样式是怎么实现的.类似的动态更改页面样式一般都是什么思路.我对这些问题知道的很肤浅,请高手多多指点!!!!!!!谢谢!!!!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 前几天一个网友发的:通过使页面动态加载不同CSS实现多界面 (类似于这个blog) 方法一: <%@page language="C#"%> <%@import namespace="System.Data"%> <script language="c#" runat="server"> public void page_load(Object obj,EventArgs e) { //创建服务器端控件. //指定的标记"LINK"初始化此类的新实例. HtmlGenericControl objLink=new HtmlGenericControl("LINK"); objLink.ID=ID; objLink.Attributes["rel"]="stylesheet"; objLink.Attributes["type"]="text/css"; objLink.Attributes["href"]="portal.css"; //此控件不产生任何可见输出,仅作为其他控件的容器,可在其中添加,插入或移除控件. MyCSS.Controls.Add(objLink); } </script> <html> <head> <title>c#</title> <asp:placeholder id="MyCSS" runat="server"></asp:placeholder> </head> <body bgColor="#ffcc66" style="FONT:9pt"> <form runat="server"> </form> </body> </html> ========================================== 通过动态设置页面所有同类型控件的样式来该变界面: 方法二: 可以通过改变WEB控件的CssClass属性,可方便地设置和修改控件的样式。 但在实际开发过程中,一个个地设置控件的CssClass属性,非常繁琐,所以此思路应用不广. 但下面的代码段演示了一次性改变页面所有同类型控件的样式的方法,可以实现简单的SKIN等功能。 代码如下: public void page_load(Object obj,EventArgs e) { if(!Page.IsPostBack){ //为页面的所有控件设置样式. SetCSS(Page.Controls); } } private void SetCSS(System.Web.UI.ControlCollection vControls) { for(int i=0;i<vControls.Count;i++) { System.Web.UI.Control vControl=vControls[i]; //得到控件的类型 //可增加控件类型及相应处理方法 string PType=vControl.GetType().Name; switch (PType) { case "TextBox": TextBox_CSS ((TextBox) vControl); break; case "Button": //Button_CSS ((Button) vControl); break; case "DataGrid": //DataGrid_CSS ((DataGrid) vControl); break; } if(vControl.Controls.Count>0) SetCSS(vControl.Controls); } } private void TextBox_CSS(TextBox tb){ tb.CssClass="TextBox_show"; } <form runat="server"> <asp:textbox id="Search1" runat="server"/> <asp:textbox id="Search2" CssClass="INPUT" runat="server"/> </form> 运行后,查看页面源码.可发现文本框的样式已统一修改为"TextBox_show". 如果 整体 界面 比如表格位置 数据显示位置, 图片信息位置等 的显示并没有改变只是说背景颜色, 边框颜色 按钮风格等改变的话那么 对应不同的风格 定义不同的css 样式文件即可如果说页面上的 数据 图片 等等这些的位置有了大的改变那么只能是 对应的做不同的风格页面。 应用div+css,改变div不同css就是了! lizhizhe2000(彬彬) ( )发的这个非常帅,收藏! 在一个列中有几个table.我怎么对他们进行先后显示进行控制. 1 2 3 2 -> 3 或者 2 3 1 11-3是在同一列中的table,我想对他们进行动态加载,根据不同的设置,有不同的显示风格.不知道怎么弄,请高手继续帮助.谢谢 关于使用Alienbrain SDK遍历文件夹的问题 为组件中的控件绑定数据问题! 在CS代码中怎么得到html文件中的元素,并进行操作 用C#.net.................写在线播放视频........高手帮忙啊!!!急~! 参数传递问题? Rectangle怎么用那? 获取web.config 中的邮件服务器的配置信息怎么用简洁的方式获取。 wpf webbrowser 怎样将一个事件挂钩到另外一个事件上? c#能不能在WIN2K下运行? 发布到服务器上的错误,大家帮我看看吧,来者有分! 如何在系统的窗体上添加自己的窗体
通过使页面动态加载不同CSS实现多界面 (类似于这个blog)
方法一:
<%@page language="C#"%>
<%@import namespace="System.Data"%>
<script language="c#" runat="server">
public void page_load(Object obj,EventArgs e)
{
//创建服务器端控件.
//指定的标记"LINK"初始化此类的新实例.
HtmlGenericControl objLink=new HtmlGenericControl("LINK");
objLink.ID=ID;
objLink.Attributes["rel"]="stylesheet";
objLink.Attributes["type"]="text/css";
objLink.Attributes["href"]="portal.css"; //此控件不产生任何可见输出,仅作为其他控件的容器,可在其中添加,插入或移除控件.
MyCSS.Controls.Add(objLink);
}
</script>
<html>
<head>
<title>c#</title>
<asp:placeholder id="MyCSS" runat="server"></asp:placeholder>
</head>
<body bgColor="#ffcc66" style="FONT:9pt">
<form runat="server"> </form>
</body>
</html>
==========================================
通过动态设置页面所有同类型控件的样式来该变界面: 方法二: 可以通过改变WEB控件的CssClass属性,可方便地设置和修改控件的样式。
但在实际开发过程中,一个个地设置控件的CssClass属性,非常繁琐,所以此思路应用不广.
但下面的代码段演示了一次性改变页面所有同类型控件的样式的方法,可以实现简单的SKIN等功能。 代码如下:
public void page_load(Object obj,EventArgs e)
{
if(!Page.IsPostBack){
//为页面的所有控件设置样式.
SetCSS(Page.Controls);
}
}
private void SetCSS(System.Web.UI.ControlCollection vControls)
{
for(int i=0;i<vControls.Count;i++)
{
System.Web.UI.Control vControl=vControls[i]; //得到控件的类型
//可增加控件类型及相应处理方法
string PType=vControl.GetType().Name;
switch (PType)
{
case "TextBox":
TextBox_CSS ((TextBox) vControl);
break;
case "Button":
//Button_CSS ((Button) vControl);
break;
case "DataGrid":
//DataGrid_CSS ((DataGrid) vControl);
break;
}
if(vControl.Controls.Count>0)
SetCSS(vControl.Controls);
}
}
private void TextBox_CSS(TextBox tb){
tb.CssClass="TextBox_show";
} <form runat="server">
<asp:textbox id="Search1" runat="server"/>
<asp:textbox id="Search2" CssClass="INPUT" runat="server"/>
</form> 运行后,查看页面源码.可发现文本框的样式已统一修改为"TextBox_show".
只是说背景颜色, 边框颜色 按钮风格等改变的话
那么 对应不同的风格 定义不同的css 样式文件即可如果说页面上的 数据 图片 等等这些的位置有了大的改变
那么只能是 对应的做不同的风格页面。
发的这个非常帅,收藏!
我怎么对他们进行先后显示进行控制. 1 2 3
2 -> 3 或者 2
3 1 11-3是在同一列中的table,我想对他们进行动态加载,根据不同的设置,有不同的显示风格.不知道怎么弄,请高手继续帮助.谢谢