Nasıl yapılır: Yönetilen HTML Belgesi Nesne Modelinde HTML Kaynağına Erişme
DocumentStream Denetimdeki WebBrowser ve DocumentText özellikleri, geçerli belgenin HTML'sini ilk görüntülendiğinde olduğu gibi döndürür. Ancak ve gibi AppendChild yöntem ve özellik çağrılarını kullanarak sayfayı değiştirirseniz ve InnerHtmlDocumentTextçağrısı yaptığınızda DocumentStream bu değişiklikler görünmez. DOM için en güncel HTML kaynağını almak için, HTML öğesinde özelliğini çağırmanız OuterHtml gerekir.
Aşağıdaki yordamda dinamik kaynağın nasıl alınıp ayrı bir kısayol menüsünde görüntüleneceği gösterilmektedir.
OuterHtml özelliğiyle dinamik kaynağı alma
Yeni bir Windows Forms uygulaması oluşturun. Tek Formbir ile başlayın ve adını yazın
Form1
.Denetimi Windows Forms uygulamanızda barındırın WebBrowser ve olarak adlandırın
WebBrowser1
. Daha fazla bilgi için bkz . Nasıl yapılır: Windows Forms Uygulamasına Web Tarayıcısı Özellikleri Ekleme.Uygulamanızda adlı
CodeForm
bir saniye Form oluşturun.öğesine
CodeForm
bir RichTextBox denetim ekleyin ve özelliğini Dock olarakFill
ayarlayın.üzerinde
CodeForm
adlıCode
bir ortak özellik oluşturun.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 Property
olayı için ve izleyicinize FormClick adlı
Button1
bir Button denetim ekleyin. Olayları izleme hakkında ayrıntılı bilgi için bkz . Olaylar.Olay işleyicisine Click aşağıdaki kodu ekleyin.
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
Güçlü Programlama
Almayı denemeden önce değerini Document her zaman test edin. Geçerli sayfanın yüklenmesi Document tamamlanmadıysa veya bir veya daha fazla alt nesnesi başlatılamayabilir.
Ayrıca bkz.
.NET Desktop feedback