Condividi tramite


WebBrowser.DocumentText Proprietà

Definizione

Ottiene o imposta il contenuto HTML della pagina visualizzata nel controllo WebBrowser.

public:
 property System::String ^ DocumentText { System::String ^ get(); void set(System::String ^ value); };
[System.ComponentModel.Browsable(false)]
public string DocumentText { get; set; }
[<System.ComponentModel.Browsable(false)>]
member this.DocumentText : string with get, set
Public Property DocumentText As String

Valore della proprietà

Testo HTML della pagina visualizzata o stringa vuota ("") se non sono stati caricati documenti.

Attributi

Eccezioni

Questa istanza di WebBrowser non è più valida.

Non è stato possibile recuperare un riferimento a un'implementazione dell'interfaccia IWebBrowser2 dal controllo ActiveX WebBrowser sottostante.

Esempio

Nell'esempio di codice seguente viene illustrato come usare la proprietà per visualizzare a livello di codice il DocumentText contenuto del documento scelto. In questo esempio è necessario che il modulo contenga un WebBrowser controllo denominato webBrowser1.

private void Form1_Load(object sender, EventArgs e)
{
    webBrowser1.DocumentText =
        "<html><body>Please enter your name:<br/>" +
        "<input type='text' name='userName'/><br/>" +
        "<a href='http://www.microsoft.com'>continue</a>" +
        "</body></html>";
    webBrowser1.Navigating += 
        new WebBrowserNavigatingEventHandler(webBrowser1_Navigating);
}

private void webBrowser1_Navigating(object sender, 
    WebBrowserNavigatingEventArgs e)
{
    System.Windows.Forms.HtmlDocument document =
        this.webBrowser1.Document;

    if (document != null && document.All["userName"] != null && 
        String.IsNullOrEmpty(
        document.All["userName"].GetAttribute("value")))
    {
        e.Cancel = true;
        System.Windows.Forms.MessageBox.Show(
            "You must enter your name before you can navigate to " +
            e.Url.ToString());
    }
}
Private Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs) _
    Handles Me.Load

    webBrowser1.DocumentText = _
        "<html><body>Please enter your name:<br/>" & _
        "<input type='text' name='userName'/><br/>" & _
        "<a href='http://www.microsoft.com'>continue</a>" & _
        "</body></html>"

End Sub

Private Sub webBrowser1_Navigating( _
    ByVal sender As Object, ByVal e As WebBrowserNavigatingEventArgs) _
    Handles webBrowser1.Navigating

    Dim document As System.Windows.Forms.HtmlDocument = _
        webBrowser1.Document
    If document IsNot Nothing And _
        document.All("userName") IsNot Nothing And _
        String.IsNullOrEmpty( _
        document.All("userName").GetAttribute("value")) Then

        e.Cancel = True
        MsgBox("You must enter your name before you can navigate to " & _
            e.Url.ToString())
    End If

End Sub

Commenti

Usare questa proprietà quando si vuole modificare il contenuto di una pagina HTML visualizzata nel WebBrowser controllo usando strumenti di elaborazione stringa. È possibile usare questa proprietà, ad esempio, per caricare pagine da un database o per analizzare le pagine usando espressioni regolari. Quando si imposta questa proprietà, il WebBrowser controllo passa automaticamente all'URL about:blank prima di caricare il testo specificato. Ciò significa che gli Navigatingeventi , Navigatede DocumentCompleted si verificano quando si imposta questa proprietà e il valore della Url proprietà non è più significativo.

Nota

Questa proprietà contiene il testo del documento corrente, anche se è stato richiesto un altro documento. Se si imposta il valore di questa proprietà e quindi lo si recupera immediatamente, il valore recuperato può essere diverso dal valore impostato se il WebBrowser controllo non ha avuto tempo per caricare il nuovo contenuto. È possibile recuperare il nuovo valore in un DocumentCompleted gestore eventi. In alternativa, è possibile bloccare il thread finché il documento non viene caricato chiamando il metodo in un ciclo fino a quando la DocumentText proprietà restituisce il Thread.Sleep valore a cui è stato originariamente impostato.

Per accedere al contenuto di una pagina Web come Streamoggetto , usare la DocumentStream proprietà . È anche possibile accedere al contenuto della pagina usando il modello a oggetti documento HTML (DOM) tramite la Document proprietà .

Si applica a

Vedi anche