2015-02-04 3 views
2

Есть ли способ загрузить html в виде строки в webControl?Загрузочная строка Awesomium WebControl

Что-то вроде:

webControl.Load("<!DOCTYPE html><html>..."); 

Как используется в обычном МОФ WebControl:

webControl.NavigateToString("<!DOCTYPE html><html>..."); 
+0

http://stackoverflow.com/q/4467219/1214743, http://stackoverflow.com/q/5362591/1214743, гугл ли вы это? – Malachi

+1

Но это работает только с обычным webcontrol, который поставляется с Visual Studio. Awesomium webControl не обладает этим свойством. –

ответ

7

На самом деле теперь я нашел ответ в учебниках для C++ (не на .net wpf) на сайте Awesomium.

Вот мое решение:

var uri = new Uri("data:text/html,<!DOCTYPE html><html>...", UriKind.Absolute); 

      webControl.Source = uri; 
+0

Прохладный, черт возьми, хотя это не так практично ... – beppe9000

+0

Это не удается, если строка html слишком велика. Я получаю сообщение об ошибке: 'Недопустимый URI: строка Uri слишком длинная'. – Rahul

0

Вместо того, чтобы использовать URL в источнике просто положить ваш HTML там

Awsomium

загружен из Awesomium tutorials

+0

Я ценю усилия, чтобы помочь мне, но это не то, что я ищу. –

1

Я знаю, что это старый вопрос, но вот как я menaged сделать это:

var page = new WebControl 
{ 
    ViewType = WebViewType.Window, 
}; 
page.NativeViewInitialized += (s, e) => 
{ 
    page.LoadHTML("<html>SOME TEXT</html>"); 
}; 
0

Вот мое решение: Load HTML строка файл, а затем загрузите страницу с использованием свойства webControl.Source.

public static string WriteHtmlToTempFile(string html) 
{ 
    var fileName = GetTempFileName("html"); 
    System.IO.File.WriteAllText(fileName, html); 
    return fileName; 

} 
var strHtml = "<HTML> Hello World</HTML>"; 
var file = Common.WriteHtmlToTempFile(strHtml); 
var wUri = new Uri(string.Format(@"file://{0}", file )); 
webControl2.Source = wUri;