首页 新闻 会员 周边

asp.net 用户控件怎么添加CssClass属性,获取外部CSS样式 初学者在线等

0
悬赏园豆:60 [已解决问题] 解决于 2013-07-25 14:29

说白了就是让用户控件增加与普通控件那样的CssClass=“xxx"的属性

这是sapx页面内引用自定义控件PicViewer 

<style type="text/css">
.temp
{
position: absolute;
width: 100%;
height: 100%;
background-color: red;
filter: alpha(opacity=50);
-moz-opacity: 0.5;
-khtml-opacity: 0.5;
opacity: 0.5;
}
</style>

<div id="header" style="width:100%;height:300px;">
<uc1:PicViewer  ID="PicViewer" runat="server" width="100px" CssClass="temp"/>
</div>

后台添加了cssClass属性,可是没有效果

private string cssClass;

public string CssClass
{
get { return cssClass; }
set
{
cssClass = value;
this.DivAlfBack.Style["class"] = cssClass;
}
}

大芝麻的主页 大芝麻 | 初学一级 | 园豆:4
提问于:2013-07-25 11:17
< >
分享
最佳答案
1

查看它对应生成的源码:

<div id="header" style="width:100%;height:300px;">
<uc1:PicViewer  ID="PicViewer" runat="server" width="100px" CssClass="temp"/>
</div>

 

<div id="header" style="width:100%;height:300px;">
看看这对应生成的代码是什么……
</div>

收获园豆:60
Yu | 专家六级 |园豆:12980 | 2013-07-25 13:28

大芝麻 | 园豆:4 (初学一级) | 2013-07-25 13:38

变成了控件内部的最外城的DIV 的class

实际上我是要把aspx内设置的样式.temp通过像普通控件属性设置那样传递到内部的第二层DIV的Class中

大芝麻 | 园豆:4 (初学一级) | 2013-07-25 13:40

大芝麻 | 园豆:4 (初学一级) | 2013-07-25 13:40

大哥你看第二层DIV的class没有出现在源代码中

大芝麻 | 园豆:4 (初学一级) | 2013-07-25 13:44

@大芝麻: style="temp" 已经有问题了

 

你想class="temp" 生在那个DIV

Yu | 园豆:12980 (专家六级) | 2013-07-25 13:54

@Yu: 最外层的div 的 id 知道不,如果知道的,就可以通过js设置其第二层的div  class="temp"

Yu | 园豆:12980 (专家六级) | 2013-07-25 13:59

@Yu: 生在<div id=DivAlfBack>,就是做一个属性,通过在用户控件上设定CssClasss属性把.temp样式真个传递给<div id=DivAlfBack>

即 <uc1:PicViewer  ID="PicViewer" runat="server" width="100px" height="300px" BorderStyle="Solid" CssClass="temp"/>

之后再控件内部<div id=DivAlfBack class="temp">

 

就像设定了height属性一样

把外部的height传递给内部的

private string _height;
public string height
{
get { return _height; }
set {
_height = value;
this.DivAlfBack.Style["height"] = _height;
}
}

大芝麻 | 园豆:4 (初学一级) | 2013-07-25 14:01

@大芝麻: 如果是要增加样式class

那要通过

Attributes 而不是 Style

Yu | 园豆:12980 (专家六级) | 2013-07-25 14:08

@Yu: 那具体应该怎么做呢,求指教!膜拜了

大芝麻 | 园豆:4 (初学一级) | 2013-07-25 14:12

@大芝麻: 

this.DivAlfBack.Attributes.Add("class", "temp");

Yu | 园豆:12980 (专家六级) | 2013-07-25 14:14

@Yu: 谢谢,效果出来了,谢谢大侠!!!。在问下,这个添加样式如果添加了多个样式会是什么情况呢

大芝麻 | 园豆:4 (初学一级) | 2013-07-25 14:18

@大芝麻: 最后一次添加的才有效

Yu | 园豆:12980 (专家六级) | 2013-07-25 14:20

@Yu: o  也就是以前的添加的都作废了是吧,不会累计内存吧。

大芝麻 | 园豆:4 (初学一级) | 2013-07-25 14:24

这个答案采纳在哪里才难的  晕死

大芝麻 | 园豆:4 (初学一级) | 2013-07-25 14:24

@大芝麻: ??

Yu | 园豆:12980 (专家六级) | 2013-07-25 14:30
其他回答(1)
0

直接在内部的div或其他标签上,加上class="",即可~

幻天芒 | 园豆:37175 (高人七级) | 2013-07-25 12:47
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册