C# 在Blazor中单击锚点后如何更新HREF?

C# 在Blazor中单击锚点后如何更新HREF?,c#,razor,blazor,blazor-server-side,blazor-client-side,C#,Razor,Blazor,Blazor Server Side,Blazor Client Side,尝试用Blazor替换单击锚定时的HREF 伪随机序列中的So 单击=>调用函数=>替换HREF=>触发打开事件,但目标是新的HREF 无法实现,语法应该是什么 <a href="javascript: void(0)" @onclick="@(()=> GetCloudFileSignedUrl(context.FileName))">@context.FileName</a> 旁注 请不要参考。我在问如何用与该问题无关的外部地址替换HREF值,因为此时我可

尝试用Blazor替换单击锚定时的HREF

伪随机序列中的So

单击=>调用函数=>替换HREF=>触发打开事件,但目标是新的HREF

无法实现,语法应该是什么

<a href="javascript: void(0)" @onclick="@(()=> GetCloudFileSignedUrl(context.FileName))">@context.FileName</a>

旁注
请不要参考。我在问如何用与该问题无关的外部地址替换HREF值,因为此时我可以使用
javascript:void(0)

多亏了@daniherrera,我开始寻找正确的位置,并在中找到了答案

[Inject]公共导航管理器导航管理器{get;set;}
[Inject]公共IJSRuntime JsRuntime{get;set;}
公共异步任务NavigateToUrlAsync(字符串url,bool openInNewTab)
{
如果(openInNewTab)
{
等待JsRuntime.InvokeAsync(“open”,url,_blank”);
}
其他的
{
NavigationManager.NavigateTo(url);
}
}

多亏了@daniherrera,我开始寻找正确的地方,并在

[Inject]公共导航管理器导航管理器{get;set;}
[Inject]公共IJSRuntime JsRuntime{get;set;}
公共异步任务NavigateToUrlAsync(字符串url,bool openInNewTab)
{
如果(openInNewTab)
{
等待JsRuntime.InvokeAsync(“open”,url,_blank”);
}
其他的
{
NavigationManager.NavigateTo(url);
}
}

使用`NavigationManager.NavigatTo,检查@Danielrera我感谢您的快速响应,这几乎正是我要寻找的,唯一的问题是我需要打开一个新页面,在那里它取代了现有页面,在互联网上寻找一种方法,只是想与大家分享。再次感谢。@daniherrera在这里找到了答案。再次感谢使用“NavigationManager.Navigato,检查@daniherrera我感谢您的快速响应,这几乎正是我要寻找的,唯一的问题是我需要打开一个新页面,在那里它取代了现有页面,在互联网上寻找方法,只是想与大家分享。再次感谢。@daniherrera在这里找到了答案再次感谢
        [Inject] public NavigationManager NavigationManager { get; set; }
        [Inject] public IJSRuntime JsRuntime { get; set; }
        public async Task NavigateToUrlAsync(string url, bool openInNewTab)
        {
            if (openInNewTab)
            {
                await JsRuntime.InvokeAsync<object>("open", url, "_blank");
            }
            else
            {
                NavigationManager.NavigateTo(url);
            }
        }