在用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)
。
答案 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);
}
}