UWP应用程序尝试将本地html文件加载到webview控件

时间:2015-11-14 18:38:45

标签: c# webview uwp

我的通用Windows应用程序需要使用webview控件加载html文件。我在这个问题中尝试了以下解决方案。我无法使它发挥作用。

Load local html file in WebView Metro Style app

现在我的代码如下。它给我一个错误如下

  

错误CS4036' IAsyncOperation'不包含   ' GetAwaiter'的定义没有扩展方法' GetAwaiter'   接受类型' IAsyncOperation'的第一个参数。   可以找到(你错过了一个using指令吗?   '系统'?)ReaderX c:\ users \ sumod \ documents \ visual studio   2015 \ Projects \ ReaderX \ ReaderX \ Views \ TextView.xaml.cs 28

这是我的代码

namespace ReaderX.Views
{
    /// <summary>
    /// An empty page that can be used on its own or navigated to within a Frame.
    /// </summary>
    public sealed partial class TextView : Page
    {
        private NavPoints point;
        public TextView()
        {
            this.InitializeComponent();
        }

        protected override async void OnNavigatedTo(NavigationEventArgs e)
        {
            point = (NavPoints)e.Parameter;
            StorageFolder storageFolder = ApplicationData.Current.LocalFolder;
            StorageFile sampleFile = await storageFolder.GetFileAsync("sample.txt");
            var html = await Windows.Storage.FileIO.ReadTextAsync(sampleFile);

            HTMLViewer.NavigateToString(html);
        }
    }
}

还有其他办法吗?

2 个答案:

答案 0 :(得分:5)

嘿,如果你有时间告诉我这是否有效:

在Assets文件夹中创建名为MyHTMLPage的Html文件,它具有类型内容的构建操作和复制到输出以始终复制。

Html文件:

function pollingFunc(taskId){
    $.ajax({
      url: '/endpoint',
      type: 'POST',
      data: { 'celery_task_id': taskId },
      success: function(response){
        if(response.celery_ready) {
          console.log('CELERY IS READY')
        } else {
          console.log('polling')
          setTimeout(function() {
            pollingFunc(response.task_id);
          }, 5000);
        }
      });
  }

在主页面上:xaml:

<!DOCTYPE html>

<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta charset="utf-8" />
    <title></title>
</head>
<body>
<div style="background-color: chartreuse">HELLO WORLD, from a webview</div>  
</body>
</html>

在主页面上:

  <Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
        <WebView x:Name="MyWebView"  Width="200" Height="300"></WebView>
    </Grid>

这对你有用吗?

答案 1 :(得分:0)

代码示例适合我。你尝试过新项目了吗?我确信您的参考文献存在问题。

尝试逐个删除您的参考文献以找到罪魁祸首。