Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Blazor服务器端onclick在IE11中不工作_Blazor_Blazor Server Side_Asp.net Core 3.0 - Fatal编程技术网

Blazor服务器端onclick在IE11中不工作

Blazor服务器端onclick在IE11中不工作,blazor,blazor-server-side,asp.net-core-3.0,Blazor,Blazor Server Side,Asp.net Core 3.0,我正试图让Blazor(服务器端)与IE11一起工作(它与Chrome一起工作)。 但IE 11似乎没有响应onclick=“@ExportExcel”。 我已经从中添加了blazor.polyfill.min.js,但没有任何帮助。 提前谢谢 前端代码如下 @inject ExcelExportService EES <div> <button onclick="@GetTransferFile">Transfer Excel file</button&

我正试图让Blazor(服务器端)与IE11一起工作(它与Chrome一起工作)。 但IE 11似乎没有响应onclick=“@ExportExcel”。 我已经从中添加了blazor.polyfill.min.js,但没有任何帮助。 提前谢谢

前端代码如下

@inject ExcelExportService EES

<div>
    <button onclick="@GetTransferFile">Transfer Excel file</button>
</div>

@functions {

    protected async Task GetTransferFile()
    {
        await EES.TransferFile();
    }
}
@exportees
传输Excel文件
@功能{
受保护的异步任务GetTransferFile()
{
等待EES.TransferFile();
}
}
编辑 In_Host.cshtlm 我已经按照Issac的建议添加了polyfill.min.js

<body>

    <script crossorigin="anonymous" src="https://polyfill.io/v3/polyfill.min.js"></script>
    <script type="text/javascript" src="blazor.polyfill.min.js"></script>
    <app>
        @(await Html.RenderComponentAsync<App>())
    </app>


    <script src="_framework/blazor.server.js"></script>
</body>

@(等待Html.RenderComponentAsync())

现在,我在控制台日志中看到一条错误消息“CSS3111:@font-face遇到未知错误”。我注释掉bootstrap只是为了测试,但仍然得到错误。我猜是onclick中的@before GetTransferFile产生了模糊。

尝试添加此多边形填充:

您应该记住,即使在服务器端执行模式下,Blazor也使用一些旧浏览器不支持的新JavaScript结构,例如promises、FetchAPI等


希望这能有所帮助……

谢谢,但不幸的是,这并没有带来什么不同。我在我的帖子中添加了更多信息。你是否知道Html.RenderComponentAsync()预先呈现了你的整个Blazor应用程序(在Razor Pages或MVC中,我不知道,因为我无法访问你的整个应用程序)。这是你想要的吗?计划?在任何情况下,这都会增加应用程序的复杂性,并使查找问题变得更加困难。你明白你在做什么吗。。。无论如何,服务器端Blazor和Steve Anderson推荐的poly-fill应该可以在IE11I中使用(显然,我对这一点很陌生)。但据我所知,在应用程序呈现之后,更新将与signar一起发送,以便您只更新更改的内容。我也尝试过在创建新应用程序时使用默认模板(Blazor服务器端)。我在这里添加了多边形填充,并尝试了计数器页面,得到了相同的结果。我制作的应用程序是一样的,但是去掉了预测和计数器页面,添加了上面的代码(当然添加了代码隐藏,但我在IE中没有看到)。