如何解决Microsoft.AspNetCore.Mvc.ViewFeatures.UnsupportedJavaScriptRuntime
我是 Blazor 的新手,并尝试在 Blazor Webassembly(使用 ABP 框架)中运行 Javascript 运行时以存储在本地存储中,但由于某种原因,我收到了 UnsupportedJavaScriptRuntime 错误。我在 Blazor 服务器端尝试了同样的方法,并且成功了。
private async Task < Order > GetOrder() {
Order order = null;
var strOrder = await _jSRuntime.InvokeAsync < string > ("localStorage.getItem",cstrShoppingCart);
if (!string.IsNullOrWhiteSpace(strOrder) && strOrder.ToLower() != "null")
order = JsonConvert.DeserializeObject < Order > (strOrder);
else {
order = new Order();
await SetOrder(order);
}
foreach(var item in order.LineItems) {
item.Product = await _productRepository.GetAsync(item.ProductId);
}
下面是错误
Microsoft.AspNetCore.Mvc.ViewFeatures.UnsupportedJavaScriptRuntime
System.InvalidOperationException HResult=0x80131509 在服务器端预呈现期间无法发出 Message=JavaScript 互操作调用,因为页面尚未加载到浏览器中。预渲染组件必须将任何 JavaScript 互操作调用包装在条件逻辑中,以确保在预渲染期间不会尝试这些互操作调用。 来源=Microsoft.AspNetCore.Mvc.ViewFeatures 堆栈跟踪: 在 Microsoft.AspNetCore.Mvc.ViewFeatures.UnsupportedJavaScriptRuntime.Microsoft.JSInterop.IJSRuntime.InvokeAsync[TValue](String identifier,Object[] args) 在 Microsoft.JSInterop.JSRuntimeExtensions.InvokeAsync[TValue](IJSRuntime jsRuntime,String identifier,Object[] args) 在 BookStore.ShoppingCart.LocalStorage.ShoppingCart.d__11.MoveNext() 中
解决方法
在服务器端预渲染期间无法发出 JavaScript 互操作调用,因为页面尚未加载到浏览器中。预渲染组件必须将任何 JavaScript 互操作调用包装在条件逻辑中,以确保在预渲染期间不会尝试这些互操作调用。
我认为错误信息很清楚。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。