繁体   English   中英

动态控件不适用于 IE8

[英]Dynamic Controls doesn't work well with IE8

我在 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;
}

我认为这是 IE8 中的错误,这可能是一种解决方法。 而不是这样做:

dvPhotos.Controls.Add(hgc);

将 hgc 添加到标题中。 像这样:

Page.Header.Controls.Add(hgc);

阅读本文,我认为他找到了解决您同样问题的方法:

https://siderite.dev/blog/controls-collection-cannot-be-modified.html

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM