Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 动态控件与IE8不兼容_Asp.net_.net_Internet Explorer 8_Htmlgenericcontrol - Fatal编程技术网

Asp.net 动态控件与IE8不兼容

Asp.net 动态控件与IE8不兼容,asp.net,.net,internet-explorer-8,htmlgenericcontrol,Asp.net,.net,Internet Explorer 8,Htmlgenericcontrol,我在Microsoft.NET 4.0环境中工作。我有一个带有标题的可变数量图片列表,可以写入屏幕,因此,我在ASP.NET的codebehind中使用动态控件 我编写了以下代码: 对于列表中的每个图片,我定义: 标签控件: Label lbPic = new Label(); lbPic.Text = "PicTitle"; 图片控制: ImageButton ImgPic = new ImageButton(); ImgPic.ID = "imgID"; ImgPic.CssClass =

我在Microsoft.NET 4.0环境中工作。我有一个带有标题的可变数量图片列表,可以写入屏幕,因此,我在ASP.NET的codebehind中使用动态控件

我编写了以下代码:

对于列表中的每个图片,我定义:

标签控件:

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+标签对包含在以下图片中:

dvPhotos.Controls.Add(hgc);
dvPhotos在.aspx文件中定义, 作为一名律师的身份证。这个div是用runat=server定义的

这些图片在FireFox、Chrome和IE9中看起来不错。它们在IE8中看起来很糟糕

HTML控件似乎忽略了myhgcss,所以所有的图片和标签在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中的一个bug,这可能是一个解决方法。而不是这样做:

dvPhotos.Controls.Add(hgc);
将hgc添加到标题中。大概是这样的:

Page.Header.Controls.Add(hgc);
读了这篇文章,我想他找到了解决你同样问题的方法:


如果将hgc.Attributes.Addclass、myhgcss;在hgc.Controls.Add行之前?这听起来像是Firefox与IE8如何缓存内容的问题。这个网站讨论了HtmlGenericControl和IE8的这些bug:拜托,你能发布.css文件的相关部分吗?我试着改变了位置,没什么区别。。。