Weiß jemand, warum ein <span>-Element im WebBrowser-Control von .NET 2.0 nicht ausgeblendet werden kann? Wenn ich mit dem WebBrowser eine fertige
HTML-Seite lade, dann klappt das anstandslos. Aber wenn ich die Elemente selbst per CSharp erzeuge, dann spielt der Browser irgendwie nicht mit. So gehe ich zurzeit vor:
Code:
HtmlElement img = browser.Document.CreateElement("img");
img.Style = "width:16px;height:16px;margin-right:5px";
img.Id = "image_1";
img.SetAttribute("src", "open.png");
browser.Document.Body.AppendChild(img);
HtmlElement span = browser.Document.CreateElement("span");
span.Id = "content_1";
span.SetAttribute("className", "content");
browser.Document.Body.AppendChild(span);
Die Funktion zum Auf- und Zuklappen steckt direkt in der Seite. Im Prinzip nichts besonderes. Das Bild "open.png" wird gegen "close.png" ausgetauscht, bzw. umgekehrt. Und wenn das <span>-Tag sichtbar ist, wird "display:none" gesetzt und umgekehrt. Wie gesagt, klappt bei einer normalen, fertigen
HTML-Seite wunderbar (auch im Browser-Control von .NET 2.0). Auch mit der oben erzeugten Grafik. Nur das erzeugte <span> weigert sich standhaft.
Ach so, der Skriptaufruf vllt. noch:
Code:
object[] objArray = new object[1];
objArray[0] = (object)1;
dynamicHelpBrowser.Document.InvokeScript("ExpandCollapse", objArray);