【问题标题】:Is it possible to deviate from the standard Acumatica page layout options?是否可以偏离标准 Acumatica 页面布局选项?
【发布时间】:2021-01-18 07:42:15
【问题描述】:

我正在 Acumatica 中进行概念验证项目。

概念

我想开发一个检索客户列表的页面 地址并将它们绘制在嵌入的 Google 地图元素上。

问题

我知道如何检索客户地址列表,并且我有一篇文章中的代码解释了如何绘制地图点。我的问题是,地图本身是一个动态 JavaScript 函数,而不是来自其他地方的嵌入式地图。我正在努力寻找一种方法来使用以下代码(或类似代码)在自定义页面上显示结果。

我尝试过的概念:

  • (当前)使用PXLiteral 封装所需元素
  • 手动编辑 ASPX 以包含自定义编辑器通常会删除的 <div><script> 元素
  • 创建自定义 MasterPage 文件以删除页面限制

所有这些尝试在代码编译和页面加载的意义上都奏效了。但是,它们都没有在页面上显示任何元素的意义上起作用。

代码

<%@ Page Language="C#" MasterPageFile="~/MasterPages/MapView.master" AutoEventWireup="true" ValidateRequest="false" CodeFile="IN30MX00.aspx.cs" Inherits="Page_IN30MX00" Title="Untitled Page" %>
<%@ MasterType VirtualPath="~/MasterPages/MapView.master" %>

<asp:Content ID="cont1" ContentPlaceHolderID="phDS" Runat="Server">
    <px:PXDataSource ID="ds" runat="server" Visible="True" Width="100%"
        TypeName="MixingCustomization.Map"
        PrimaryView="MasterView">
        <CallbackCommands>

        </CallbackCommands>
    </px:PXDataSource>
</asp:Content>
<asp:Content ID="cont2" ContentPlaceHolderID="phF" Runat="Server">
    <px:PXLiteral runat="server" Text="l1">
        <div id="map" runat="server"></div>
    </px:PXLiteral>
    <px:PXLiteral runat="server" Text="l2">
        <script>
            // Initialize and add the map
            function initMap() {
                // The location of Uluru
                var uluru = { lat: -25.344, lng: 131.036 };
                // The map, centered at Uluru
                var map = new google.maps.Map(
                    document.getElementById('map'), { zoom: 4, center: uluru });
                // The marker, positioned at Uluru
                var marker = new google.maps.Marker({ position: uluru, map: map });
            }
        </script>
    </px:PXLiteral>
    <px:PXLiteral runat="server" Text="l3">
        <script src="https://maps.googleapis.com/maps/api/js?callback=initMap"></script>
    </px:PXLiteral>
</asp:Content>

问题

  1. 是否有人有任何有用的指导或 2) 确定这是不可能的。

【问题讨论】:

    标签: asp.net google-maps acumatica


    【解决方案1】:

    我当然想跟进并了解您对此的看法,因为我一直想知道是否可以引入自定义控件。 我的第一个倾向是尝试使用 iframe。此链接似乎指向将 iframe 带入 acumatica 页面的示例。 它可能值得一试,但我不确定这是否会回答你的问题,所以如果没有,我提前道歉。 IFRAME in acumatica form 我认为最大的挑战是将值放入 iframe 的变量中。您可能需要考虑为此使用 PSJavaScript 控件

    【讨论】:

    • 我相信这很有可能。但是,在我的理解中,Iframe 只是来自另一个地方的元素的表示。我希望代码等完全是 Acumatica,这样我就可以使用 Acumatica 数据来构建地图。
    • 理论上你可以从 IWebhookHandler 中提供你需要的任何 HTML,然后在 iFrame 中提供它。挑战仍然是正确编码,以便将足够的信息传递到 IWebhookHandler 中,以获取您需要为其获取地图的任何实体。
    • @beardedmogul,我想跟进看看上面的回复是否有助于澄清 Iframe 如何在“理论上”得到最终结果。您应该能够控制要通过 webhook 传递的任何所需的 HTML 内容。不确定性在于获取 iframe 中的 src 属性以具有指导 webhook 传递什么的查询参数。
    • 我不能说我对这个概念很熟悉。我确信我可以找到更多关于它的信息。我一直忙于其他事情,从那以后就再也没有时间花在这上面了。谢谢你的检查。有时间我会参考这个。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-22
    • 2015-05-20
    • 1970-01-01
    相关资源
    最近更新 更多