我有一个带有许多私有函数的webservice类。我有一个main函数,它根据Web服务调用的第一个参数决定调用哪个函数。
$actions = [
"CHECK_LOGIN" => "checkLogin"
, "CHECK_FB" => "checkFB"
, "GET_DETAILS" => "getDetails"
, "SAVE_DETAILS" => "saveDetails"
, "CHANGE_PWD" => "saveDetails"
, "SEND_ECODE" => "sendEmailCode"
]
因此,根据传递的参数很容易找到要调用的函数:
if (!array_key_exists($action, $actions))
$rep = ["status" => STATUS_ERROR, "errMsg" => "Action '$action' unknown"];
else {
$method = $actions[$action];
$rep = $method($req);
}
我的问题是我无法调用“$ method”(例如“checkFB”),我需要调用$ this->方法(即“$ this-> checkFB”) 我怎么把$ this->在$ actions数组中找到的函数名前面
答案 0 :(得分:1)
你可以这样做:
<asp:GridView ID="grdTaskDataCat1" OnRowCommand="grdTaskDataCat1_RowCommand"
OnSorting="grdTaskDataCat1_Sorting" AutoGenerateColumns="false"
ShowHeaderWhenEmpty="true" AllowSorting="true" Width="1800px"
DataKeyNames="ID" runat="server"
OnRowDataBound="grdTaskDataCat1_RowDataBound">
<Columns>
<asp:TemplateField HeaderText="Sr No" Visible="false">
<ItemTemplate>
<asp:TextBox ID="txtId" Visible="false" ReadOnly Style="width: 30%" Text='<%# Bind("ID")%>' runat="server"></asp:TextBox>
</ItemTemplate>
<%-- <ItemStyle Width="3%" />--%>
</asp:TemplateField>
<asp:TemplateField HeaderText="Sr No" Visible="true" ItemStyle-Width="20px">
<ItemTemplate>
<asp:Label ID="lblSerialNoCat1" runat="server"></asp:Label>
</ItemTemplate>
</asp:TemplateField>