运行 razor页面刷新时的OnGetAsync方法

Run OnGetAsync Method when razor page is refreshed

我正在努力确定如何在刷新 razor 页面时 运行 下面代码中显示的方法,目前该方法只会在页面初始加载时 运行 (这通常可能是用户加载了不同的页面并返回到该页面)

每次用户单击浏览器刷新按钮或点击 F5 按钮时,我都需要 运行 此方法。我依赖于从数据库中提取数据,然后指示后台服务的图标状态应该是什么我 运行ning.

    public async Task OnGetAsync()
    {
        SystemMapping = await _context.SystemMapping
            .Include(s => s.ConnectorInbound)
            .Include(s => s.ConnectorOutbound).ToListAsync();

        foreach (var mapping in SystemMapping)
        {
            string mappingName = mapping.MappingName;
            if (ConnectorManagement.systemMappingStatusDictionary.TryGetValue(mappingName, out string status))
            {
                ViewData.Add(new KeyValuePair<string, object>(mappingName, status));
            }
            else
            {
                status = "Stopped";
                ViewData.Add(new KeyValuePair<string, object>(mappingName, status));
            }
        }
    }

OnGetAsync 方法是 运行 每当 使用 HTTP GET 动词请求页面时。如果页面最初是使用 GET(默认)加载的,然后点击 F5 或单击浏览器中的刷新图标将导致另一个 GET 请求,并且OnGetAsync 方法将被触发。

如果页面最初是使用 POST 动词加载的,刷新将导致另一个 POST 请求,尽管浏览器会警告要先提交表单。

所以您正在寻找的是默认行为。您根本不需要做任何事情。