这是我的代码。它在客户屏幕上添加了一个按钮,该按钮会发出呼叫,但会得到此响应,
0|<ctl00_phF_BAccount_t0_btnHelloWorld />
AR303000页面aspx
<px:PXFormView ID="BAccount" runat="server" Width="100%" Caption="Customer Summary" DataMember="BAccount" NoteIndicator="True" FilesIndicator="True" ActivityIndicator="false" ActivityField="NoteActivity" LinkIndicator="true" BPEventsIndicator="true" DefaultControlID="edAcctCD">
<Template>
<px:PXLayoutRule runat="server" StartColumn="True" ControlSize="XM" LabelsWidth="SM" ></px:PXLayoutRule>
<px:PXButton runat="server" Text="Hello World" AutoCallBack="True" ID="btnHelloWorld">
<AutoCallBack Command="HelloWorld" /></px:PXButton>
<px:PXSegmentMask ID="edAcctCD" runat="server" DataField="AcctCD" FilterByAllFields="True" ></px:PXSegmentMask>
<px:PXDropDown ID="edStatus" runat="server" DataField="Status" CommitChanges="True" ></px:PXDropDown>
在同一个定制项目的代码中
using PX.Data;
using PX.Objects.AR; // for CustomerMaint graph
using PX.Objects.CR; // for BAccount DAC
public class CustomerMaint_Extension : PXGraphExtension<CustomerMaint>
{
// Define the action matching the button we will create
public PXAction<BAccount> HelloWorld;
[PXButton] // Indicates this is a button action
[PXUIField(DisplayName = "Hello World")] // Label for the button/action
protected void helloWorld()
{
// If this code runs, it will throw an exception and show a popup error in the UI.
throw new PXException("Hello world from the server!");
}
}
为什么我没有收到返回的错误消息? 我的回报是这样的
0|<ctl00_phF_BAccount_t0_btnHelloWorld />
它向服务器发送回调,但返回结果并不符合预期,因为我认为我的代码没有被命中。 任何建议。 从长远来看,我想通过按钮来填充字段值。 但从这里开始只是让按钮发挥作用。
您需要在操作中使用
Customer
DAC,因为它是CustomerMaint
图中的主要DAC:
public PXAction<Customer> HelloWorld;