Как вызвать ASPxControl с помощью OnItemClick в ASPxMenu?C # - PullRequest
0 голосов
/ 19 февраля 2019

У меня есть ASPxMenu, который я назвал "mnuCategoryOptions", и он имеет 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;}».Это линия, которая не работает.Пожалуйста, помогите.

С уважением, Сиябонга Кубека

1 Ответ

0 голосов
/ 19 февраля 2019

Предположим, у вас есть ASPxPopupControl серверный элемент управления, подобный этому:

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

Затем вам нужно использовать метод Show(), чтобы показать это всплывающее окно с кодом на стороне клиента:

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

Согласно списку ASPxClientPopupControlBase , Show - это имя метода, а не свойства.Также необходимо использовать свойство ClientInstanceName из всплывающего элемента управления, если вы хотите использовать то же имя на стороне клиента, что и имя элемента управления.

Ссылка:

ASPxClientPopupControlBase.Show () function

...