如何使用ASPxMenu的OnItemClick调用ASPxControl? C#

问题描述 投票:0回答:1

我有一个名为“mnuCategoryOptions”的ASPxMenu,它有4个项目,我还有ASPxPopupControl,我将其命名为“popupAddProductCategory”。当我单击ASPxMenu中的一个项目时,我希望它调出ASPxPopupControl。我用以下方式编写了代码,但它不起作用:

<dx:ASPxMenu ID="mnuCategoryOptions" runat="server" OnItemClick="mnuCategoryOptions_ItemClick">
                                    <ClientSideEvents ItemClick="function(s, e) 
                                    {
                                        e.processOnServer = false;

                                        if (e.item.name == 'mnuAddCategory')  { popupAddProductCategory.Show = true; }
                                        else if (e.item.name == 'mnuEditCategory')  { alert('Edit Category'); }
                                        else if (e.item.name == 'mnuDeleteCategory')  { alert('Del Category'); }
                                        else if (e.item.name == 'mnuAddProducts')  { alert('Add Products'); }
                                        else { e.processOnServer = true; }                
                                    }" />

                                    <Items>
                                        <dx:MenuItem Name="mnuAddCategory"              Text="Add Category"><Image Url="~/images/GridIcons/add.png"/></dx:MenuItem>
                                        <dx:MenuItem Name="mnuEditCategory"              Text="Edit Category"><Image Url="~/images/GridIcons/page_edit.png"/></dx:MenuItem>
                                        <dx:MenuItem Name="mnuDeleteCategory"              Text="Delete Category"><Image Url="~/images/GridIcons/delete.png"/></dx:MenuItem>
                                        <dx:MenuItem Name="mnuAddProducts"         Text="Add Products"><Image Url="~/images/GridIcons/page_add.png"  /></dx:MenuItem>                                                            
                                    </Items>
                                </dx:ASPxMenu>

请查看“if(e.item.name =='mnuAddCategory'){popupAddProductCategory.Show = true;}”这一行。这是不起作用的线。请帮忙。

亲切的问候感谢投入

asp.net c#-4.0 devexpress
1个回答
0
投票

假设你有这样的ASPxPopupControl服务器控件:

<dx:ASPxPopupControl ID="popupAddProductCategory" runat="server" ClientInstanceName="popupAddProductCategory" ... />

然后你应该使用Show()方法来显示带有客户端代码的弹出窗口:

if (e.item.name == 'mnuAddCategory') { 
    popupAddProductCategory.Show(); 
}

根据ASPxClientPopupControlBase member listShow是一种方法的名称,而不是财产。如果要使用相同的客户端名称作为控件名称,则必须使用弹出控件的ClientInstanceName属性。

参考:

ASPxClientPopupControlBase.Show() function

© www.soinside.com 2019 - 2024. All rights reserved.