Monday, 15 April 2013

How to Create a Captcha Control in ASP.NET C#


Client Side Code:-

 <div>
        <asp:Image ID="myImage" runat="server" ImageUrl="~/CaptchaControl.aspx" />
        <br />
        <br />
        Enter code:&nbsp;&nbsp;&nbsp;
        <asp:TextBox ID="TextBox1" runat="server" Text=""></asp:TextBox>&nbsp;&nbsp;&nbsp;
        <asp:Button ID="Button1" runat="server" Text="Validate" OnClick="Button1_Click" />
        <br />
        <br />
        <asp:Label ID="lblMessage" runat="server" Font-Bold="true" Font-Size="X-Large" ForeColor="Red"></asp:Label>
    </div>

Server Side Code Description :-

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Drawing;
using System.Text;
using System.Drawing.Imaging;


public partial class CaptchaControl : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        CreateImage();
    }


    private void CreateImage()
    {
        string code = GetRandomText();
        Bitmap bitmap = new Bitmap(200, 150, System.Drawing.Imaging.PixelFormat.Format32bppArgb);
        Graphics g = Graphics.FromImage(bitmap);
        Pen pen = new Pen(Color.Yellow);
        Rectangle rect = new Rectangle(0, 0, 200, 150);
        SolidBrush b = new SolidBrush(Color.DarkKhaki);
        SolidBrush blue = new SolidBrush(Color.Blue);
        int counter = 0;
        g.DrawRectangle(pen, rect);
        g.FillRectangle(b, rect);
        Random rand = new Random();
      

        for (int i = 0; i < code.Length; i++)
        {
            g.DrawString(code[i].ToString(), new Font("Verdena", 10 + rand.Next(14, 18)), blue, new PointF(10 + counter, 10));
            counter += 20;
        }

        DrawRandomLines(g);
        Response.ContentType = "image/gif";
        bitmap.Save(Response.OutputStream, ImageFormat.Gif);
        g.Dispose();
        bitmap.Dispose();
    }

    private string GetRandomText()
    {
        StringBuilder randomText = new StringBuilder();
        //if (Session["Code"] == null)
        //{
        string alphabets = "abcdefghijklmnopqrstuvwxyz0123456789";
        Random r = new Random();
        for (int j = 0; j <= 5; j++)
        {
            randomText.Append(alphabets[r.Next(alphabets.Length)]);
        }
        Session["Code"] = randomText.ToString();
        //}
        return Session["Code"] as String;
    }


    private void DrawRandomLines(Graphics g)
    {
        SolidBrush green = new SolidBrush(Color.Green);
        for (int i = 0; i < 20; i++)
        {
            g.DrawLines(new Pen(green, 2), GetRandomPoints());
        }
    }

    private Point[] GetRandomPoints()
    {
        Random rand = new Random();
        Point[] points = { new Point(rand.Next(10, 150), rand.Next(10, 150)), new Point(rand.Next(10, 100), rand.Next(10, 100)) };
        return points;
    }
}



How to Draw Hi Charts in ASP.NET C#

Here i am writing client side and server side code description  , Hope it will Help you :-

Client side code Example:-

<div>   
    <asp:Chart ID="Chart1" runat="server" Height="300px" width="400px">
    <Titles>
    <asp:Title ShadowOffset="3" Name="Title1">
    </asp:Title>
    </Titles>
    <Legends>
    <asp:Legend Alignment="Center" Docking="Bottom" IsTextAutoFit="false" Name="Default"        LegendStyle="Row">
    </asp:Legend>
    </Legends>
    <Series>
    <asp:Series Name="Hi_Charts"></asp:Series>
    </Series>
    <ChartAreas>
    <asp:ChartArea Name="ChartArea1" BorderWidth="0"></asp:ChartArea>
    </ChartAreas>
    </asp:Chart>
    </div>

Server Side Code Example:-

 protected void Page_Load(object sender, EventArgs e)
    {
        double[] yValues = { 71.15, 23.19, 5.66 };
        string[] xValues = { "Men", "Women", "Childrens" };
        Chart1.Series["Hi_Charts"].Points.DataBindXY(xValues, yValues);
        Chart1.Series["Hi_Charts"].Points[0].Color = Color.MediumSeaGreen;
        Chart1.Series["Hi_Charts"].Points[1].Color = Color.PaleGreen;
        Chart1.Series["Hi_Charts"].Points[2].Color = Color.LawnGreen;
        Chart1.Series["Hi_Charts"].ChartType = SeriesChartType.Bar;
        Chart1.Series["Hi_Charts"]["PieLabelStyle"] = "Disabled";
        Chart1.ChartAreas["ChartArea1"].Area3DStyle.Enable3D = true;
        Chart1.Legends[0].Enabled = true;
    }


Thursday, 11 April 2013

HOW TO CALL A JAVASCRIPT FUNCTION FROM SERVERSIDE IN ASP.NET

There are mainly two ways for calling the javascript function from server side:-

FIRST ONE IS:-

System.Web.UI.ScriptManager.RegisterClientScriptBlock(Page, typeof(Page), "Script", "Javascript_Function();", true);

SECOND ONE IS:- 

 System.Web.UI.ScriptManager.RegisterClientScriptBlock(Page, typeof(Page), "Script", "document.getElementById('" + button1.ClientID + "').style.display='none';", true); 

 

Wednesday, 10 April 2013

HOW TO CONVERT DATATABLE TO JSON FORMAT IN ASP.NET USING C#

Definition and introduction :--

JSON is built on two pillers :

  1) A collection of name/value pairs. In various languages, this is realized as an object, record, struct, dictionary, hash table, keyed list, or associative array.

  2) An ordered list of values. In most languages, this is realized as an array, vector, list, or sequence.
Fore more study and info please visit  http://en.wikipedia.org/wiki/JSON 


JSON (JavaScript Object Notation) is a lightweight data-interchange format. It is easy for machines to parse and generate. JSON is a text format that is completely language independent.


Write Function To do the same:


public static string ConvertTableToJSON(DataTable objDataTable)
        {
            string[] jsonArr = new string[objDataTable.Columns.Count];
            string headString = string.Empty;
            for (int i = 0; i < objDataTable.Columns.Count; i++)
            {
                jsonArr [i] = objDataTable.Columns[i].Caption;
                headString += "'" + jsonArr [i] + "' : '" + jsonArr [i] + i.ToString() + "¾" + "',";
            }

            headString = headString.Substring(0, headString.Length - 1);
            StringBuilder sb = new StringBuilder();
            sb.Append("[");

            if (objDataTable.Rows.Count > 0)
            {
                for (int i = 0; i < objDataTable.Rows.Count; i++)
                {
                    string tempString = headString;
                    sb.Append("{");
                    for (int j = 0; j < objDataTable.Columns.Count; j++)
                    {
                        tempString = tempString.Replace(objDataTable.Columns[j] + j.ToString() + "¾", objDataTable.Rows[i][j].ToString());
                    }

                    sb.Append(tempString + "},");
                }
            }
            else
            {
                string tempString = headString;
                sb.Append("{");
                for (int j = 0; j < objDataTable.Columns.Count; j++)
                {
                    tempString = tempString.Replace(objDataTable.Columns[j] + j.ToString() + "¾", "-");
                }

                sb.Append(tempString + "},");
            }

            sb = new StringBuilder(sb.ToString().Substring(0, sb.ToString().Length - 1));
            sb.Append("]");
            return sb.ToString();
        }
I think it would be benificial for you....:--