Domanda

Sul controllo .Net WebBrowser l'unico modo che posso vedere per caricare una pagina è di impostare la proprietà URL. Ma vorrei invece dargli un po 'di codice HTML che ho già in memoria senza prima scriverlo in un file. C'è un modo per fare questo? O ci sono dei controlli che lo faranno?

È stato utile?

Soluzione

Desideri la proprietà DocumentText:

http://msdn.microsoft. com / it-it / library / system.windows.forms.webbrowser.documenttext.aspx

da http://www.codeguru.com/forum/showpost .php? p = 1691329 & amp; postcount = 9 : Inoltre dovresti fornire un paio di cose:

  • Non impostare DocumentText nel costruttore. Usa Form_Load o il tuo metodo. Se si imposta DocumentText nel costruttore, non sarà possibile reimpostarlo in nessun punto dell'applicazione. Assicurati di controllare che neanche Form Designer non lo abbia impostato.

  • È possibile impostare DocumentText solo una volta per chiamata di metodo. Questo è strano e molto probabilmente un bug, ma è vero. Ad esempio: l'impostazione di DocumentText in un ciclo for verrà impostata correttamente solo sulla prima iterazione del ciclo. Puoi tuttavia creare un metodo piccolo per impostare DocumentText sulla stringa passata, quindi chiamare questo metodo in un ciclo for.

Altri suggerimenti

Si utilizza WebBrowser.DeocumentText ( http://msdn.microsoft.com/en-us/library/system.windows.forms.webbrowser.documenttext.aspx ) o WebBrowser.DocumentStream ( http://msdn.microsoft.com/en-us/library/system.windows.forms.webbrowser .documentstream.aspx ) per modificare l'HTML nel documento corrente. Potrebbe essere necessario accedere a about: blank, se non si dispone di un documento.

Inoltre, generalmente, ovunque sia possibile utilizzare uno Stream, è possibile utilizzare MemoryStream per racchiudere i dati in memoria.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top