ARTICLE

Play With Action Delegates in ASP.NET

Posted by Vijay Prativadi Articles | ASP.NET Programming October 06, 2012
Today, in this article let’s play around with one of the interesting and most useful concepts in C#.
Reader Level:

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

Login to add your contents and source code to this article
post comment
     

could u more elaborate about action delegates.....what is the advantage of using it

Posted by Megha Goyal Oct 09, 2012
COMMENT USING
PREMIUM SPONSORS
Over-C is a holistic consortium of communications and technology specialists. We build, deploy and market both business as well as consumer products and solutions.
SPONSORED BY
  • PDF reports have never been easier to create. With our included WYSIWYG Designer, you can layout your reports, set up your data source and let DynamicPDF ReportWriter do the rest.