我正在努力确定在刷新剃刀页面时如何运行下面代码中显示的方法,当前该方法仅在最初加载页面时才运行(通常可能是用户正在加载其他页面然后回到这个)
每次用户单击浏览器刷新按钮或单击F5按钮时,我都需要运行此方法。我依靠从数据库中提取数据,然后确定我正在运行的后台服务的图标状态应该是什么。
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));
}
}
}
答案 0 :(得分:0)
只要使用HTTP OnGetAsync
动词来请求页面,就会运行GET
方法。如果页面最初是使用GET
(默认设置)加载的,则按 F5 或单击浏览器中的刷新图标将导致另一个GET
请求和{{1 }}方法将被触发。
如果页面最初是使用OnGetAsync
动词加载的,则刷新将导致另一个POST
请求,尽管浏览器会警告您先提交表单。
因此,您要寻找的是默认行为。您根本不需要做任何事情。