Search results

Open a dialog on popup item click in ASP.NET Core DropDownButton control

21 Oct 2021 / 1 minute to read

This section explains about how to open a dialog on DropdownButton popup item click. This can be achieved by handling dialog open in select event of the DropdownButton.

In the following example, Dialog will open while selecting Other Folder... item.

tagHelper
dialogSample-mvc.cs
dialogButton-core.cs
Copied to clipboard
<div>
    <ejs-dialog id="dialog" header="Move Items" content="Move Items To 'Web Team'" visible="false" width="250px">
        <e-dialog-buttons>
            <e-dialog-dialogbutton buttonModel="ViewBag.button" click="btnClick"></e-dialog-dialogbutton>
        </e-dialog-buttons>
        <e-dialog-position X="100" Y="100"></e-dialog-position>
    </ejs-dialog>
    <ejs-dropdownbutton id="ddbtn" items="ViewBag.items" cssClass="e-vertical" iconCss="ddb-icons e-folder" content="Move" iconPosition="Top" select="onSelect"></ejs-dropdownbutton>
</div>


<style>

    /* csslint ignore:start */
    @@font-face {
        font-family: 'e-db-icons';
        src:
        url(data:application/x-font-ttf;charset=utf-8;base64,AAEAAAAKAIAAAwAgT1MvMj0jSRoAAAEoAAAAVmNtYXDnFudgAAABkAAAADpnbHlmSrKTCAAAAdgAAAC4aGVhZBKtK8cAAADQAAAANmhoZWEHmQNtAAAArAAAACRobXR4D7gAAAAAAYAAAAAQbG9jYQB4ADoAAAHMAAAACm1heHABEAAYAAABCAAAACBuYW1lH00mDAAAApAAAAJJcG9zdIwkSr0AAATcAAAATQABAAADUv9qAFoEAAAA//4D6gABAAAAAAAAAAAAAAAAAAAABAABAAAAAQAAGc/PS18PPPUACwPoAAAAANfSc3wAAAAA19JzfAAAAAAD6gPqAAAACAACAAAAAAAAAAEAAAAEAAwAAgAAAAAAAgAAAAoACgAAAP8AAAAAAAAAAQPuAZAABQAAAnoCvAAAAIwCegK8AAAB4AAxAQIAAAIABQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUGZFZABA5wPnBQNS/2oAWgPqAJYAAAABAAAAAAAABAAAAAPoAAAD6AAAA+gAAAAAAAIAAAADAAAAFAADAAEAAAAUAAQAJgAAAAQABAABAADnBf//AADnA///AAAAAQAEAAAAAQACAAMAAAAAAAAAHAA6AFwAAAACAAAAAAPqA2UABgAKAAA3IREjCQEjBRcBIQID6AL+Dv4NAQEY3QG4/I+IAsL+GAHonroBcwAAAAIAAAAAA8YD6gAFAAoAADchESMJASUHCQImA6AD/jL+MQEEywGWAZb+agICX/4+AcLXsv6cAWQBZAAAAAEAAAAAA+oD6gALAAATCQEXCQE3CQEnCQECATP+zcIBMgEzwf7OATLB/s3+zgMp/s3+zsIBM/7NwgEyATPB/s4BMgAAAAASAN4AAQAAAAAAAAABAAAAAQAAAAAAAQAKAAEAAQAAAAAAAgAHAAsAAQAAAAAAAwAKABIAAQAAAAAABAAKABwAAQAAAAAABQALACYAAQAAAAAABgAKADEAAQAAAAAACgAsADsAAQAAAAAACwASAGcAAwABBAkAAAACAHkAAwABBAkAAQAUAHsAAwABBAkAAgAOAI8AAwABBAkAAwAUAJ0AAwABBAkABAAUALEAAwABBAkABQAWAMUAAwABBAkABgAUANsAAwABBAkACgBYAO8AAwABBAkACwAkAUcgZS1kYi1pY29uc1JlZ3VsYXJlLWRiLWljb25zZS1kYi1pY29uc1ZlcnNpb24gMS4wZS1kYi1pY29uc0ZvbnQgZ2VuZXJhdGVkIHVzaW5nIFN5bmNmdXNpb24gTWV0cm8gU3R1ZGlvd3d3LnN5bmNmdXNpb24uY29tACAAZQAtAGQAYgAtAGkAYwBvAG4AcwBSAGUAZwB1AGwAYQByAGUALQBkAGIALQBpAGMAbwBuAHMAZQAtAGQAYgAtAGkAYwBvAG4AcwBWAGUAcgBzAGkAbwBuACAAMQAuADAAZQAtAGQAYgAtAGkAYwBvAG4AcwBGAG8AbgB0ACAAZwBlAG4AZQByAGEAdABlAGQAIAB1AHMAaQBuAGcAIABTAHkAbgBjAGYAdQBzAGkAbwBuACAATQBlAHQAcgBvACAAUwB0AHUAZABpAG8AdwB3AHcALgBzAHkAbgBjAGYAdQBzAGkAbwBuAC4AYwBvAG0AAAAAAgAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAQIBAwEEAQUADG1lc3NhZ2UtbWFpbAtyZWFkLXVucmVhZAZkZWxldGUAAAAAAA==) format('truetype');
        font-weight: normal;
        font-style: normal;
    }
    /* csslint ignore:stop */

    .ddb-icons {
        font-family: 'e-db-icons' !important;
        speak: none;
        font-size: 55px;
        font-style: normal;
        font-weight: normal;
        font-variant: normal;
        text-transform: none;
        line-height: 1;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
    }

    .e-folder::before {
        content: '\e703';
    }

    button {
      margin: 25px 5px 20px 20px;
    }
</style>

<script>
    function onSelect(args){
        if (args.item.text === 'Other Folder...') {
            ej.base.getInstance(document.getElementById('dialog'), ejs.popups.Dialog).show();
        }
    }
    function btnClick () {
        ej.base.getInstance(document.getElementById('dialog'), ejs.popups.Dialog).hide();
    }
</script>
Copied to clipboard
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using Syncfusion.EJ2.Buttons;
using Syncfusion.EJ2.Popups;
namespace EJ2CoreSampleBrowser.Controllers.Button
{
    public partial class ButtonController : Controller
    {
        public class ButtonModel
        {
            public string content { get; set; }
            public string cssClass { get; set; }
            public bool isPrimary { get; set; }
            public string Click { get; set; }

        }

        public ActionResult DropDownButton()
        {

            List<object> items = new List<object>();
            items.Add(new
            {
                text = "Archive"
            });
            items.Add(new
            {
                text = "Inbox"
            });
            items.Add(new
            {
                text = "HR Portal"
            });
            items.Add(new
            {
                separator = true
            });
            items.Add(new
            {
                text = "Other Folder..."
            });
            items.Add(new
            {
                text = "Copy to Folder"
            });
            ViewBag.button = new
            {
                content="OK", cssClass="e-flat", isPrimary = true
            };
            ViewBag.items = items;
            List<DialogDialogButton> buttons = new List<DialogDialogButton>() { };
            buttons.Add(new DialogDialogButton() { Click = "btnClick", ButtonModel = new ButtonModel() { content = "OK", isPrimary = true, cssClass = "e-flat" } });
            ViewBag.button = buttons;
            return View();
        }
    }
}
Copied to clipboard
public ActionResult DialogButton()
{
    ViewBag.DialogButtons = new  {
        isPrimary = true,
        cssClass = "e-flat",
        content = "Submit",
        click = "dlgButtonClick"
    };
    return View();
}