为了账号安全,请及时绑定邮箱和手机立即绑定

ArcGIS JavaScript API 4.11 - 打印导致 asp.net 中的回发问题

ArcGIS JavaScript API 4.11 - 打印导致 asp.net 中的回发问题

忽然笑 2021-06-28 12:10:34
我是 ESRI 和 javascript API 的新手。我正在尝试实现打印任务,如下所示:https : //developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Print.html我正在使用以下代码创建打印功能,并且如图所示正确显示:require(["esri/widgets/Print"], function (Print) {  var print = new Print({    view: view,    printServiceUrl: "https://printserviceurl/services/PrintService/GPServer/Export%20Web%20Map"  });    // Adds widget below other elements in the top left corner of the view    view.ui.add(print, {      position: "bottom-left"    });});我遇到的问题是单击“高级选项”、“导出”或某些其他功能会导致回发。这是一个 asp.net web 应用程序,地图位于 asp.net 母版页表单控件中。这导致整个页面回发。有没有人建议防止整页回发并保留打印功能?如果我将它移到标签外,它确实可以正常工作,但要在页面中正确定位它,内容区域必须留在表单内。
查看完整描述

2 回答

?
阿波罗的战车

TA贡献1862条经验 获得超6个赞

我在草图小部件上遇到了类似的问题。问题似乎是所有 API 小部件的按钮都不是使用 type="button" 属性创建的,这会导致浏览器假定其 type="submit" 并因此导致回发。请参阅此处的ESRI 论坛。为了解决任何 ArcGIS API v 4.x 小部件的问题,我在小部件呈现后添加了该属性:


var esriWidget = new Widget({

    view: this.view,

    container: 'widgetDiv',

});


$.each($('#widgetDiv').find("button"), function (i, btn) {

    $(btn).attr("type", "button");

});

这允许小部件按预期工作而不会导致回发。


查看完整回答
反对 回复 2021-07-01
  • 2 回答
  • 0 关注
  • 230 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号