在 Blazor 中单击锚点后如何更新 HREF?
How to update HREF after anchor gets clicked in Blazor?
尝试用 Blazor 替换单击锚点时的 HREF。
So in pseudo;
click => calls function => replaces HREF => triggers open event, but targets new HREF
无法实现,语法应该是什么?
<a href="javascript: void(0)" @onclick="@(()=> GetCloudFileSignedUrl(context.FileName))">@context.FileName</a>
旁注
请不要引用https://github.com/aspnet/AspNetCore/issues/5545。我在问如何用与该问题无关的外部地址替换 HREF 值,因为此时我可以使用 javascript: void(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);
}
}
尝试用 Blazor 替换单击锚点时的 HREF。
So in pseudo;
click => calls function => replaces HREF => triggers open event, but targets new HREF
无法实现,语法应该是什么?
<a href="javascript: void(0)" @onclick="@(()=> GetCloudFileSignedUrl(context.FileName))">@context.FileName</a>
旁注
请不要引用https://github.com/aspnet/AspNetCore/issues/5545。我在问如何用与该问题无关的外部地址替换 HREF 值,因为此时我可以使用 javascript: void(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);
}
}