【发布时间】:2012-11-30 16:02:22
【问题描述】:
我在 Microsoft .NET 4.0 环境中工作。我有一个可变数量的图片列表及其标题,要写入屏幕,因此,我在 ASP.NET 的代码隐藏中使用动态控件。
我写了以下代码:
对于我定义的列表中的每张图片:
标签控件:
Label lbPic = new Label();
lbPic.Text = "PicTitle";
图片控制:
ImageButton ImgPic = new ImageButton();
ImgPic.ID = "imgID";
ImgPic.CssClass = "myImgCSS";
ImgPic.ImageUrl = "myImgUrl";
HTML 控件同时包含标签和图片:
HtmlGenericControl hgc = new HtmlGenericControl("myDivName");
hgc.Controls.Add(lbPic);
hgc.Controls.Add(imgPic);
hgc.Attributes.Add("class", "myHgcCss");
每张图片(img+lable 对)都包含在:
dvPhotos.Controls.Add(hgc);
dvPhotos 在 .aspx 文件中定义,
作为 <div> 的 ID。这个 div 是用runat="server" 定义的。
图片在 FireFox、Chrome 和 IE9 中看起来不错。它们在 IE8 中看起来很糟糕。
好像是HTML控件忽略了“myHgcCss”,所以把所有的图片和标签都放在dvPhotos里乱七八糟了。
知道为什么它不适用于 IE8 吗?
CSS相关部分:
.myHgcCss
{
float:right;
height: 180px;
width: 170px;
background-color : #FFFFFF;
color:#003300;
margin: 10px 10px 10px 10px;
font-size:15px;
font-style:normal;
text-align:right;
}
.myImgCSS
{
height: 150px;
width: 150px;
margin: 10px 10px 10px 10px;
}
【问题讨论】:
-
如果将
hgc.Attributes.Add("class", "myHgcCss");放在hgc.Controls.Add行之前,它会做同样的事情吗?这听起来像是 Firefox 与 IE8 缓存内容的问题。该站点讨论了 HtmlGenericControl 和 IE8 的此类错误:channel9.msdn.com/Forums/TechOff/… -
拜托,你能把.css文件的相关部分贴出来吗?
-
我试过换个地方,没区别...
标签: asp.net .net internet-explorer-8 htmlgenericcontrol