Play With Action Delegates in ASP.NET

Introduction

Today, in this article let's play around with one of the interesting and most useful concepts in C#.

Question: What is action delegates?

In simple terms "It is an instant startup powerful delegate. The usage of this is very lightweight whereby it just requires inputs to perform any specific operation as Action<in: type, in: type>. In other words, it does not produce any output value".

Step 1: Create a new "ASP.Net Web Application", as in:

New-WebSite-in-asp.net.jpg

Step 2: The complete code of webform1.aspx looks like this:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="ActionDelegatesApp._Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head id="Head1" runat="server">

    <title></title>

</head>

<body>

    <form id="form1" runat="server">

    <center>

        <div>

            <table>

                <tr>

                    <td colspan="2" align="center">

                        <asp:Label ID="Label1" runat="server" Text="Action Delegates" Font-Bold="true" Font-Size="Large"

                            Font-Names="Verdana" ForeColor="Maroon"></asp:Label>

                    </td>

                </tr>

                <tr>

                    <td>

                        <asp:Label ID="Label6" runat="server" Text="Please Enter FirstNumber" Font-Size="Large"

                            Font-Names="Verdana" Font-Italic="true"></asp:Label>

                    </td>

                    <td>

                        <asp:TextBox ID="TextBox4" runat="server"></asp:TextBox>

                    </td>

                </tr>

                <tr>

                    <td>

                        <asp:Label ID="Label2" runat="server" Text="Please Enter SecondNumber" Font-Size="Large"

                            Font-Names="Verdana" Font-Italic="true"></asp:Label>

                    </td>

                    <td>

                        <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>

                    </td>

                </tr>

                <tr>

                    <td colspan="2" align="center">

                        <asp:Button ID="Button1" runat="server" Text="Addition" Font-Names="Verdana" Width="213px"

                            BackColor="Orange" Font-Bold="True" OnClick="Button1_Click" />

                    </td>

                </tr>

                <tr>

                    <td colspan="2" align="center">

                        <asp:Button ID="Button2" runat="server" Text="Substraction" Font-Names="Verdana"

                            Width="213px" BackColor="Orange" Font-Bold="True" OnClick="Button2_Click" />

                    </td>

                </tr>

                <tr>

                    <td colspan="2" align="center">

                        <asp:Button ID="Button3" runat="server" Text="Multiplication" Font-Names="Verdana"

                            Width="213px" BackColor="Orange" Font-Bold="True" OnClick="Button3_Click" />

                    </td>

                </tr>

                <tr>

                    <td colspan="2" align="center">

                        <asp:Button ID="Button4" runat="server" Text="Division" Font-Names="Verdana" Width="213px"

                            BackColor="Orange" Font-Bold="True" OnClick="Button4_Click" />

                    </td>

                </tr>

                <tr>

                    <td colspan="2" align="center">

                        <asp:Label ID="Label5" runat="server" Font-Bold="true" Font-Names="Verdana" ForeColor="Maroon"></asp:Label>

                    </td>

                </tr>

            </table>

        </div>

    </center>

    </form>

</body>

</html>


Step 3: The complete code of webform1.aspx.cs looks like this:
 

using System;

using System.Collections.Generic;

using System.Linq;

using System.Web;

using System.Web.UI;

using System.Web.UI.WebControls;

namespace ActionDelegatesApp

{

    public partial class _Default : System.Web.UI.Page

    {

        protected void Page_Load(object sender, EventArgs e)

        {

        }

        protected void Button1_Click(object sender, EventArgs e)

        {

            if (string.IsNullOrEmpty(TextBox1.Text) || string.IsNullOrEmpty(TextBox4.Text))

            {

                Label5.Text = "Please Enter Some Values";

                Label5.ForeColor = System.Drawing.Color.Red;

            }

            else

            {

                Action<doubledouble> obj_Add = (q, r) => Label5.Text = "The Addition Result is: " + (q + r); obj_Add(double.Parse(TextBox4.Text),double.Parse(TextBox1.Text));

                Label5.ForeColor = System.Drawing.Color.Green;

                TextBox1.Text = string.Empty; TextBox4.Text = string.Empty;

            }

        }

        protected void Button2_Click(object sender, EventArgs e)

        {

            if (string.IsNullOrEmpty(TextBox1.Text) || string.IsNullOrEmpty(TextBox4.Text))

            {

                Label5.Text = "Please Enter Some Values"; Label5.ForeColor = System.Drawing.Color.Red;

            }

            else

            {

                Action<doubledouble> obj_Sub = (q, r) => Label5.Text = "The Substraction Result is: " + (q - r); obj_Sub(double.Parse(TextBox4.Text), double.Parse(TextBox1.Text));

                Label5.ForeColor = System.Drawing.Color.Green; TextBox1.Text = string.Empty; TextBox4.Text = string.Empty;

            }

        }

        protected void Button3_Click(object sender, EventArgs e)

        {

            if (string.IsNullOrEmpty(TextBox1.Text) || string.IsNullOrEmpty(TextBox4.Text))

            {

                Label5.Text = "Please Enter Some Values"; Label5.ForeColor = System.Drawing.Color.Red;

            }

            else

            {

                Action<doubledouble> obj_Mul = (q, r) => Label5.Text = "The Multiplication Result is: " + (q * r); obj_Mul(double.Parse(TextBox4.Text), double.Parse(TextBox1.Text));

                Label5.ForeColor = System.Drawing.Color.Green;

                TextBox1.Text = string.Empty;

                TextBox4.Text = string.Empty;

            }

        }

        protected void Button4_Click(object sender, EventArgs e)

        {

            if (string.IsNullOrEmpty(TextBox1.Text) || string.IsNullOrEmpty(TextBox4.Text))

            {

                Label5.Text = "Please Enter Some Values"; Label5.ForeColor = System.Drawing.Color.Red;

            }

            else

            {

                Action<doubledouble> obj_Div = (q, r) => Label5.Text = "The Division Result is: " + (q / r); obj_Div(double.Parse(TextBox4.Text),double.Parse(TextBox1.Text));

                Label5.ForeColor = System.Drawing.Color.Green;

                TextBox1.Text = string.Empty;

                TextBox4.Text = string.Empty;

            }

        }

    }

}

Step 4: The output of the application looks like this:

Output-of-the-application-in-asp.net.jpg

Step 5: The output of the addition operation result looks like this:


Output-of-the-addition-operation-result-in-asp.net.jpg


Similar Articles
MVC Corporation
MVC Corporation is consulting and IT services based company.