我在 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 文件中定义为 .aspx 文件的 ID <div>。这个 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;
}