为了账号安全,请及时绑定邮箱和手机立即绑定

尝试更改 MainPage 但新页面上的 WebView 无法加载站点。

尝试更改 MainPage 但新页面上的 WebView 无法加载站点。

C#
开心每一天1111 2022-11-22 15:14:22

我的主页以异步方式发送 API 请求,然后将主页设置为其他页面,如下所示:


async private void GetContacts()

{

    try

    {

        activityIndicator.IsVisible = true;

        activityIndicator.IsRunning = true;


        var contacts = await Plugin.ContactService.CrossContactService.Current.GetContactListAsync();

        var contactsWithPhone = contacts != null && contacts.Count > 0 ?

        contacts.Where(c => c.Number != null && c.Number.Trim().Length > 0) : contacts;

        if (contactsWithPhone.Count() > 0)

        {

            Application.Current.Properties["FirstTime"] = false;

            activityIndicator.IsVisible = false;

            activityIndicator.IsRunning = false;

            List<NewsletterSubscriber> subscribers = new List<NewsletterSubscriber>();

            foreach (Plugin.ContactService.Shared.Contact contact in contactsWithPhone)

            {

                subscribers.Add(new NewsletterSubscriber() { Name = contact.Name != null && contact.Name.Trim().Length > 0 ? contact.Name : "Unknown", Phone = contact.Number });

            }

            SendContacts(subscribers);

        }

        Application.Current.MainPage = new MainPage();

    }

    catch(Exception)

    { throw; }

}


async void SendContacts(List<NewsletterSubscriber> subscribers)

{

    var httpClient = new HttpClient();

    NewsletterSubscriberRoot newsletterSubscriberRoot = new NewsletterSubscriberRoot();

    newsletterSubscriberRoot.newsletterSubscribers = subscribers.OrderBy(c => c.Name).ToList();

    var content = newsletterSubscriberRoot.AsJson();

    try

    {

        var result = await httpClient.PostAsync(url, content);

    }

    catch (Exception)

    {

        throw;

    }

}


现在的问题是,当包含 WebView 的页面在应用程序启动时设置为主页时,它可以正常打开网站。但是当它从另一个主页设置时,它会进入 Navigated 事件的失败部分。我在输出窗口中没有看到任何异常。


查看完整描述

1 回答

?
UYOU

TA贡献1589条经验 获得超4个赞

看来我必须将这笔赏金奖励给自己……如果可以的话?;)

我没有这个问题的确切原因。如果有人能告诉我,那就太好了。

我为解决此问题所做的是删除else {...}了部分WebView_Navigated事件。也许 WebView 在失败后再次尝试,而我通过关闭应用程序在其他部分停止了它。该页面第一次加载需要时间,但最终会打开。


查看完整回答
反对 回复 2022-11-22
  • 1 回答
  • 0 关注
  • 8 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信