簡體   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