1

私は 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の ID として .aspx ファイルで定義されます<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;
}
4

1 に答える 1

0

IE8 のバグだと思いますが、これで回避できるかもしれません。これを行う代わりに:

dvPhotos.Controls.Add(hgc);

hgc をヘッダーに追加します。このようなもの:

Page.Header.Controls.Add(hgc);

これを読んでください、彼はあなたの同じ問題の回避策を見つけたと思います:

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

于 2012-11-30T16:27:30.810 に答える