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

时间:2019-10-20 06:19:44

标签: c# razor blazor blazor-server-side blazor-client-side

在用Blazor单击Anchor时尝试替换HREF。

  

是伪造的;

     

click =>调用函数=>替换HREF =>触发打开事件,但定位新的HREF

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

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

旁注 请不要引用https://github.com/aspnet/AspNetCore/issues/5545。我正在问如何用与该问题无关的外部地址替换HREF值,因为此时可以使用javascript: void(0)

1 个答案:

答案 0 :(得分:0)

由于@daniherrera,我开始研究正确的地方并在here中找到答案

        [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);
            }
        }