如何动态调用样式表

cx_greatoo 2008-12-23 02:50:18
我建立了一个样式表state.css,
image.bad
{
border-right: red solid;
border-top: red solid;
border-left: red solid;
border-bottom: red solid;
}
image.good
{
}
image.maintain
{
border-right: yellow solid;
border-top: yellow solid;
border-left: yellow solid;
border-bottom: yellow solid;
}
在数据库中建立了一个状态表,记录图片所处的状态,good、bad、maintain;当载入页面时,我做了一个循环,判断状态表的值,根据值调用样式表的内容,代码如下:
protected void css()
{
SqlConnection con = new SqlConnection(ConfigurationManager.AppSettings["ConnectionString"]);
string sql = "select sb_id from view_state";
SqlDataAdapter sda = new SqlDataAdapter(sql, con);
DataSet ds = new DataSet();
sda.Fill(ds);
int i;
for(i=0;i<ds.Tables[0].Rows.Count;i++)
{
con.Open();
string strsql = "select st_good,st_maintain,st_bad from sb_state where sb_id="+i;
SqlDataAdapter stsda = new SqlDataAdapter(strsql, con);
DataSet stds = new DataSet();
stsda.Fill(stds);
//if (stds.Tables[0].Rows[i][0].ToString() == '1')
//{
// //调用image.good
//}
//else if (stds.Tables[0].Rows[i][1].ToString() == '1')
//{
// //调用image.maintain
//}
//else if (stds.Tables[0].Rows[i][2].ToString() == '1')
//{
// //调用image.bad
//}
con.Close();
}
}
其中被屏蔽的那部分判断和调用的语句写得有问题,请高手指点应该怎么改?
...全文
207 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
mawering 2008-12-23
  • 打赏
  • 举报
回复
关注,学习一下!
wjxluck 2008-12-23
  • 打赏
  • 举报
回复
up
空心兜兜 2008-12-23
  • 打赏
  • 举报
回复
学习下
koukoujiayi 2008-12-23
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 cx_greatoo 的回复:]
谢谢指导,还有个问题请教,因为一个页面上我大概有200多个image图片,有没有好的办法让所有图片都执行加载样式表?
[/Quote]
如过你是vs2005的话,用皮肤可以满足你的要求!!
cx_greatoo 2008-12-23
  • 打赏
  • 举报
回复
谢谢指导,还有个问题请教,因为一个页面上我大概有200多个image图片,有没有好的办法让所有图片都执行加载样式表?
koukoujiayi 2008-12-23
  • 打赏
  • 举报
回复
是1就对应加载样式,是0就不管它!
=============================
那么0就加载一个空样式表!!
koukoujiayi 2008-12-23
  • 打赏
  • 举报
回复
单引号改双引号,因为你已经.ToString();
if (stds.Tables[0].Rows[i][0].ToString() == "1")

cx_greatoo 2008-12-23
  • 打赏
  • 举报
回复
我制作的是B/S架构的系统,if (stds.Tables[0].Rows[i][0].ToString() == '1')
在运行的时候是出错的:运算符“==”无法应用于“string”和“char”类型的操作数,搞了半天也搞不好。 实际上我就是判断状态表中的值是1还是0,是1就对应加载样式,是0就不管它!
koukoujiayi 2008-12-23
  • 打赏
  • 举报
回复
css样式表应该是这样:
.bad
{
border-right: red solid;
border-top: red solid;
border-left: red solid;
border-bottom: red solid;
}
.good
{
}
.maintain
{
border-right: yellow solid;
border-top: yellow solid;
border-left: yellow solid;
border-bottom: yellow solid;
}

调用:
你的Image是服务端控件:
if (stds.Tables[0].Rows[i][0].ToString() == '1')
{
Image1.CssClass="good";
}
else if (stds.Tables[0].Rows[i][1].ToString() == '1')
{
Image1.CssClass="maintain";
}

你的Image是客户端控件转服务端控件:
Image1.Attributes.Add("Class", "good");
koukoujiayi 2008-12-23
  • 打赏
  • 举报
回复
你的Image是服务端控件:if (stds.Tables[0].Rows[i][0].ToString() == '1')
{
Image1.CssClass="image.good";
}
else if (stds.Tables[0].Rows[i][1].ToString() == '1')
{
Image1.CssClass="image.maintain";
}

你的Image是客户端控件转服务端控件:
Image1.Attributes.Add("Class", "image.good");
sincor 2008-12-23
  • 打赏
  • 举报
回复
你以后问的时候可以将格式调整下
我建立了一个样式表state.css,
image.bad 
{
border-right: red solid;
border-top: red solid;
border-left: red solid;
border-bottom: red solid;
}
image.good
{
}
image.maintain
{
border-right: yellow solid;
border-top: yellow solid;
border-left: yellow solid;
border-bottom: yellow solid;
}
在数据库中建立了一个状态表,记录图片所处的状态,good、bad、maintain;当载入页面时,我做了一个循环,判断状态表的值,根据值调用样式表的内容,代码如下:
protected void css()
{
SqlConnection con = new SqlConnection(ConfigurationManager.AppSettings["ConnectionString"]);
string sql = "select sb_id from view_state";
SqlDataAdapter sda = new SqlDataAdapter(sql, con);
DataSet ds = new DataSet();
sda.Fill(ds);
int i;
for(i=0;i <ds.Tables[0].Rows.Count;i++)
{
con.Open();
string strsql = "select st_good,st_maintain,st_bad from sb_state where sb_id="+i;
SqlDataAdapter stsda = new SqlDataAdapter(strsql, con);
DataSet stds = new DataSet();
stsda.Fill(stds);
//if (stds.Tables[0].Rows[i][0].ToString() == '1')
//{
// //调用image.good
//}
//else if (stds.Tables[0].Rows[i][1].ToString() == '1')
//{
// //调用image.maintain
//}
//else if (stds.Tables[0].Rows[i][2].ToString() == '1')
//{
// //调用image.bad
//}
con.Close();
}
}
其中被屏蔽的那部分判断和调用的语句写得有问题,请高手指点应该怎么改?

111,130

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧