0

UpdatePanel 内の LinkBut​​ton ポストバックに応答して、次のイベント ハンドラーを起動します。

    protected void rptImages_ItemCommand(object source, RepeaterCommandEventArgs e)
    {
        //selection is only ItemCommand
        string ID = (string)e.CommandArgument;

        imgEdit.Style.Remove(HtmlTextWriterStyle.Display); //make the img visible
        imgEdit.ImageUrl = GetImageURL(ID);
    }

ImageUrl プロパティの更新は正常に機能します。ただし、スタイル属性の「表示」部分はそのまま残ります。デバッガーで見ると、コレクションの Keys および Value プロパティはまったく変化しません。あたかも Remove() への呼び出しが単に無視されたかのように。

次のように、以前に Display style タグを追加しました。

imgEdit.Style.Add(HtmlTextWriterStyle.Display, "none");

...そしてこれはうまくいきます。テストとして、すぐにスタイル (上記と同じコード) を削除すると、それも機能します。しかし、同じコードはイベント ハンドラーでは何も実行しません。

ここで何が欠けていますか?

4

1 に答える 1

2

Add/Remove メソッドを使用する必要はありません。コレクション要素に直接アクセスしてスタイルを変更できます。

imgEdit.Style["Display"] = "block";
于 2013-10-17T22:02:53.037 に答える