我是 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");
});
这允许小部件按预期工作而不会导致回发。
添加回答
举报
0/150
提交
取消
