如何更改usercontrol的CSS内部的Image

时间:2010-10-12 10:33:17

标签: c# asp.net css

我的母版页上有一个标签控件..如果它的值是“Value1”,我想在我的webform上显示this CSS Sprite ..如果Value是“Value2”.. CSS精灵应该使用一些不同的图像..只需要改变图像..那个精灵中没有别的东西..

我发现我可以使用“FindControl”方法找出Master Page目前获得的Label Control的值。

现在如何更改横幅上的图像?我该怎么办呢?此外,CSS Sprite现在是一个名为“myBanner.ascx”的用户控件(之前是一个aspx文件)。现在我需要制作2个diff用户控件,还是可以在一个usercontrol中实现一些逻辑?

我应该用这个“myBanner.ascx”制作2份副本,其中“图像名称”的CSS改变了吗?

希望它不会混淆。实际上我迷路了:/

我想要的是使用CSS Sprite制作的ONE横幅..现在,如果母版页中的“Label Control”值为“Value1”,则该横幅上使用的图像为“IMAGE1”,否则为“if”标签控制的“值是”值2“然后”IMAGE2“应该在该精灵中使用..

我该如何解决?只需要想法......然后

1 个答案:

答案 0 :(得分:1)

嗯,也许我没有正确理解这个,但为什么不让usercontrol找到主人的标签(findcontrol);检查值;然后显示正确的图像。

显示图像的方式你可以有一个局部变量(在usercontrol中),然后你可以像<%=ImagePath%>那样删除它并在页面加载中检查

或者您可以使用检查标签的方法,如:

<div id="banner" style="background-image:url(<%=GetImagePath()%>);"></div>

后端

protected string GetImagePath() {
 string s = ((Label)this.Page.Master.FindControl("label1")).Text;
 //if ... etc
}

我希望这是你正在寻找的,否则让我知道所以我可以修改我的答案

祝你好运!