我正在将UWP应用程序转换为托管有ASP.NET Core的Blazor WebAssembly。
我在Index.razor中有我的标记代码,在Index.razor.cs中有我的标记代码。
在UWP项目中,我通过如下的onclick函数打开了浏览器窗口:
var成功= Windows.System.Launcher.LaunchUriAsync(targetPage);
我在Blazor项目的onclick事件中可以使用什么,而不会导致“发生未处理的错误”?
答案 0 :(得分:0)
您按以下方式使用
剃刀文件
JSRuntime.InvokeVoidAsync(“ OpenWindow”);
html文件
revokeObjectURL
答案 1 :(得分:0)
您可以使用“ window.open”功能打开一个标签页:
@inject IJSRuntime JSRuntime;
....
await JSRuntime.InvokeAsync<string>("open", $"https://www.mysite/mypage", "_blank");
如果该页面位于您网站的内部,则可以使用基本uri:
@inject NavigationManager Navigation
@inject IJSRuntime JSRuntime;
...
await JSRuntime.InvokeAsync<string>("open", $"{Navigation.BaseUri}/mypage", "_blank");
答案 2 :(得分:-1)
为什么不直接使用 NavigationManager 中的构建?
Navigation.NavigateTo(a_url, true);
诀窍是使用 force 参数。
快乐编码。