要获取Blazor中的ActionContext,可以通过注入NavigationManager服务来实现。以下是一个包含代码示例的解决方法:
using Microsoft.AspNetCore.Components;
ActionContextService的服务类,用于获取ActionContext:public class ActionContextService
{
private readonly NavigationManager _navigationManager;
public ActionContextService(NavigationManager navigationManager)
{
_navigationManager = navigationManager;
}
public ActionContext GetActionContext()
{
var uri = _navigationManager.Uri;
return _navigationManager.ToBaseRelativePath(uri);
}
}
Startup.cs文件中注册ActionContextService服务:services.AddScoped();
ActionContextService并使用它来获取ActionContext。例如:@page "/example"
@inject ActionContextService ActionContextService
ActionContext Example
Current ActionContext: @ActionContextService.GetActionContext()
在上面的示例中,ActionContextService通过依赖注入被注入到组件中,并在@ActionContextService.GetActionContext()中调用GetActionContext方法来获取当前页面的ActionContext。