Not
Åtkomst till denna sida kräver auktorisation. Du kan prova att logga in eller byta katalog.
Åtkomst till denna sida kräver auktorisation. Du kan prova att byta katalog.
Egenskaperna DocumentStream och DocumentText på WebBrowser-kontrollen returnerar HTML-koden för det aktuella dokumentet som det fanns när det först visades. Men om du ändrar sidan med hjälp av metod- och egenskapsanrop som AppendChild och InnerHtmlvisas inte dessa ändringar när du anropar DocumentStream och DocumentText. För att få den mest up-to-date HTML-källan för DOM måste du anropa egenskapen OuterHtml på HTML-elementet.
Följande procedur visar hur du hämtar den dynamiska källan och visar den i en separat snabbmeny.
Hämtar den dynamiska källan med egenskapen OuterHtml
Skapa ett nytt Windows Forms-program. Börja med en enda Formoch kalla den
Form1.Använd WebBrowser-kontrollen i din Windows Forms-applikation och ge den namnet
WebBrowser1. Mer information finns i How to: Add Web Browser Capabilities to a Windows Forms Application.Skapa en andra Form i din applikation kallad
CodeForm.Lägg till en RichTextBox-kontroll i
CodeFormoch ange dess egenskap Dock tillFill.Skapa en offentlig egenskap på
CodeFormmed namnetCode.public string Code { get { if (richTextBox1.Text != null) { return (richTextBox1.Text); } else { return (""); } } set { richTextBox1.Text = value; } }Public Property Code() As String Get If (RichTextBox1.Text IsNot Nothing) Then Code = RichTextBox1.Text Else Code = "" End If End Get Set(ByVal value As String) RichTextBox1.Text = value End Set End PropertyLägg till en Button-kontroll med namnet
Button1i din Formoch övervaka för händelsen Click. Mer information om övervakningshändelser finns i Händelser.Lägg till följande kod i händelsehanteraren för Click.
private void button1_Click(object sender, EventArgs e) { HtmlElement elem; if (webBrowser1.Document != null) { CodeForm cf = new CodeForm(); HtmlElementCollection elems = webBrowser1.Document.GetElementsByTagName("HTML"); if (elems.Count == 1) { elem = elems[0]; cf.Code = elem.OuterHtml; cf.Show(); } } }Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim elem As HtmlElement If (WebBrowser1.Document IsNot Nothing) Then Dim cf As New CodeForm() Dim elems As HtmlElementCollection = WebBrowser1.Document.GetElementsByTagName("HTML") If (elems.Count = 1) Then elem = elems(0) cf.Code = elem.OuterHtml cf.Show() End If End If End Sub
Robust Programmering
Testa alltid värdet för Document innan du försöker hämta det. Om den aktuella sidan inte har lästs in kan det hända att Document eller ett eller flera av dess underordnade objekt inte initieras.
Se även
.NET Desktop feedback