C# Razor/Syncfusion:在异步页面加载上,treedata赢得了';除非我采取行动,否则我不会去填充

C# Razor/Syncfusion:在异步页面加载上,treedata赢得了';除非我采取行动,否则我不会去填充,c#,blazor,syncfusion,C#,Blazor,Syncfusion,所以我正在用razor编写这个应用程序,现在我正在做一个自定义导航栏。现在,问题出在我写的OnInitialized事件中: protected async override void OnInitialized() { base.OnInitialized(); var user = (await AuthStat).User; if (user.Identity.IsAuthenticated) {

所以我正在用razor编写这个应用程序,现在我正在做一个自定义导航栏。现在,问题出在我写的
OnInitialized
事件中:

 protected async override void OnInitialized()
    {
        base.OnInitialized();
        var user = (await AuthStat).User;
        if (user.Identity.IsAuthenticated)
        {
            await Authenticated();
        }
        else
        {
            await NotAuthenticated();
        }
    }
其中功能包括:

 protected Task Authenticated()
    {
        treedata = null;
        treedata = new List<TreeData>();
        treedata.Add(new TreeData { nodeId = "01", nodeText = "Acasa", iconCss = "icon-microchip icon" });
        treedata.Add(new TreeData { nodeId = "03", nodeText = "Logout", iconCss = "icon-thumbs-up-alt icon" });
        treedata.Add(new TreeData { nodeId = "04", nodeText = "Vremea", iconCss = "icon-th icon" });
        treedata.Add(new TreeData { nodeId = "05", nodeText = "Profil", iconCss = "icon-code icon" });
        treedata.Add(new TreeData { nodeId = "06", nodeText = "Calcul Salariu", iconCss = "icon-chrome icon" });
        treedata.Add(new TreeData { nodeId = "07", nodeText = "Mijloace Fixe", iconCss = "icon-up-hand icon" });
        return Task.CompletedTask;

    }

    protected Task NotAuthenticated()
    {
        treedata = null;
        treedata = new List<TreeData>();
        treedata.Add(new TreeData { nodeId = "01", nodeText = "Acasa", iconCss = "icon-microchip icon" });
        treedata.Add(new TreeData { nodeId = "02", nodeText = "Login", iconCss = "icon-docs icon" });
        treedata.Add(new TreeData { nodeId = "04", nodeText = "Vremea", iconCss = "icon-th icon" });
        treedata.Add(new TreeData { nodeId = "06", nodeText = "Calcul Salariu", iconCss = "icon-chrome icon" });
        return Task.CompletedTask;
    }
我的问题是:每当页面加载时,treedata只会在发生操作(即搜索或切换导航菜单)时填充,我想在页面加载时显示,但我不知道如何填充

//protected async override void OnInitialized()
  protected override async Task OnInitializedAsync()
  {
    // base.OnInitialized();
    // ...  like before
未(无法)等待
异步void
方法。已验证/未验证的方法与呈现不同步


未(无法)等待
异步void
方法。您的已验证/未验证方法与呈现不同步。

我们已检查了您的附加代码,发现您使用了Wait方法获取用户名和TreeView数据源。此函数需要一些时间来获取TreeView组件的用户名和数据源。TreeView组件不会等到从该函数中获取数据,所以它使用空数据源呈现。这就是您报告的问题的原因

我们已经将这个问题视为在TeeVIEW组件中实现的特性支持。对该功能的支持将包含在我们的第3卷发行版中,预计将于2020年9月底推出。

我们感谢你的耐心

问候,,
索米娅。P

我们已经检查了您所附的代码,发现您使用了wait方法获取用户名和TreeView数据源。此函数需要一些时间来获取TreeView组件的用户名和数据源。TreeView组件不会等到从该函数中获取数据,所以它使用空数据源呈现。这就是您报告的问题的原因

我们已经将这个问题视为在TeeVIEW组件中实现的特性支持。对该功能的支持将包含在我们的第3卷发行版中,预计将于2020年9月底推出。

我们感谢你的耐心

问候,,
索米娅。P

非常感谢!我创建了一个viewmodel,然后在页面上调用它,使它能够正常工作!谢谢!我创建了一个viewmodel,然后在页面上调用它,使它能够正常工作!非常感谢。我不知道,因为我是这个领域的新手。此外,我将更多地查看文档以更好地理解它!非常感谢。我不知道,因为我是这个领域的新手。此外,我将更多地查看文档以更好地理解它!
//protected async override void OnInitialized()
  protected override async Task OnInitializedAsync()
  {
    // base.OnInitialized();
    // ...  like before