2012-02-16 54 views
0

Peter在这里,我对编码更加陌生。我试图做的是检查实际的图像网址,并基于此,改变班级。我当前的代码是这样:C#ASP.NET - 检查ImageUrl并添加类

DataSet ds = cbb.getBannerModule(Convert.ToInt32(MyBannerID)); 
    ImageButton ib = new ImageButton(); 
    ib.ImageUrl = ds.Tables[0].Rows[0]["Banner_path"].ToString(); 
    string URL = ib.ImageUrl; 
    ib.Width = Unit.Pixel(Convert.ToInt32(ds.Tables[0].Rows[0]["Banner_width"].ToString())); 
    ib.Height = Unit.Pixel(Convert.ToInt32(ds.Tables[0].Rows[0]["Banner_hight"].ToString())); 
    ib.PostBackUrl = ds.Tables[0].Rows[0]["Banner_link"].ToString(); 
    string img1 = "~/admin/IMAGE/Banner/1.jpg"; 
    string img2 = "~/admin/IMAGE/Banner/2.jpg"; 
    string img3 = "~/admin/IMAGE/Banner/3.jpg"; 
    if (URL == img1) 
    { 
     ban1.Attributes["class"] = "add 1"; 
    } 
    else if (URL == img2) 
    { 
     ban1.Attributes["class"] = "add 2"; 
    } 
    else if (URL == img3) 
    { 
     ban1.Attributes["class"] = "add 3"; 
    } 
    else 
    { 
     ban1.Attributes["class"] = "add 4"; 
    } 
    ban1.Controls.Add(ib); 

的目标是什么?更改班级尝试为悬停功能设置新照片。这是由外部供应商创建的系统,id和class在ascx文件中设置。他们设置class =“add”,但我想添加另一个类,以便在翻转图像时更改图像。那可能吗?

回答

0

类名称需要在一个单词中。您不能将“添加1”作为单个名称。空间是为单个Dom对象分隔多个类。

如果你愿意,你也可以改变“add1”而不是“add 1”等等。这会将类设置为图像“add1”而不是“add”和“1”。

+0

太棒了,感谢提示Patrick。在整合你的建议之后,我确实遇到了另一个问题,看起来我的代码没有找到合适的图像路径,并检查了我设置的字符串。有这个理由吗?所有的图像现在被设置为只添加4,因为它是最后一个条件。再次感谢您的帮助! – sc0o8i3 2012-02-16 19:37:10

+0

很好,如果它的工作。如果是这样,您需要检查邮件左侧的检查以指定此问题已解决。这样,你可以帮助其他人在未来找出如何解决他们可能看起来像你的问题。 – 2012-02-16 19:39:52

+0

关于字符串比较,您需要使用BreakPoint进行调试,并查看变量URL的值。祝你今天愉快。 – 2012-02-16 19:40:24