如何用Radzen Button实现Blazor页面的简易打印功能?
当然可以用Radzen Button实现和原链接相同的打印功能,核心是通过Blazor的IJSRuntime调用浏览器原生的window.print() API,具体实现步骤如下:
在Blazor组件中注入
IJSRuntime服务:@inject IJSRuntime JSRuntime配置Radzen Button的Click事件,调用JavaScript打印方法:
<RadzenButton Text="Print" Click=@(async args => await JSRuntime.InvokeVoidAsync("window.print")) ButtonStyle="ButtonStyle.Primary" />(可选)如果需要保留原有的
.print样式效果,给按钮添加Class属性即可:<RadzenButton Text="Print" Click=@(async args => await JSRuntime.InvokeVoidAsync("window.print")) ButtonStyle="ButtonStyle.Primary" Class="print" />
需要说明的是,Blazor没有原生的C#打印方案——打印属于浏览器端的交互功能,必须借助JavaScript触发浏览器的打印对话框。上述方式和你原来的<a href="javascript:window.print()">功能完全一致,是最简洁的实现方案。
内容的提问来源于stack exchange,提问作者ExecChef
相关产品推荐
相关产品推荐

