Beginner 2 min read

ASP.NET Web Forms Practicals

Practical 1: Database Registration Form

Database : student.mdf

table : datatable

aspx file

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="registraion.WebForm1" %>

<!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 runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>


Name:
<asp:TextBox ID="txtName" runat="server" />
<br /><br />

Age:
<asp:TextBox ID="txtAge" runat="server" />
<br /><br />

<asp:Button ID="Button1" runat="server"
    Text="Register" OnClick="btnRegister_Click" />

<br /><br />

<asp:GridView ID="GridView1" runat="server" />



    </div>
    </form>
</body>
</html>

aspx.cs file code

using System;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
using System.Web.UI;

namespace registraion
{
    public partial class WebForm1 : Page
    {
        string conStr = ConfigurationManager
            .ConnectionStrings["ConnectionString"].ConnectionString;

        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
                ShowData();
        }


        protected void btnRegister_Click(object sender, EventArgs e)
        {
            int age;

            if (!int.TryParse(txtAge.Text, out age))
                return;

            using (SqlConnection con = new SqlConnection(conStr))
            {
                SqlCommand cmd = new SqlCommand(
                    "INSERT INTO datatable (ID, Name, Age) VALUES (@id, @name, @age)", con);

                cmd.Parameters.AddWithValue("@id", GetNextId());
                cmd.Parameters.AddWithValue("@name", txtName.Text);
                cmd.Parameters.AddWithValue("@age", age);

                con.Open();
                cmd.ExecuteNonQuery();
            }

            ShowData();
        }


        int GetNextId()
        {
            using (SqlConnection con = new SqlConnection(conStr))
            {
                SqlCommand cmd = new SqlCommand(
                    "SELECT ISNULL(MAX(ID), 0) + 1 FROM datatable", con);

                con.Open();
                return Convert.ToInt32(cmd.ExecuteScalar());
            }
        }

        void ShowData()
        {
            using (SqlConnection con = new SqlConnection(conStr))
            {
                SqlDataAdapter da = new SqlDataAdapter(
                    "SELECT * FROM datatable", con);

                DataTable dt = new DataTable();
                da.Fill(dt);

                GridView1.DataSource = dt;
                GridView1.DataBind();
            }
        }
    }
}

Practical 2: Master Page

site1.master code

<%@ Master Language="C#" AutoEventWireup="true" CodeBehind="Site1.master.cs" Inherits="aspmasterpage.Site1" %>

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


<html>
<head id="Head1" runat="server">
    <title>My Website</title>
    <asp:ContentPlaceHolder ID="head"
        runat="server" />
</head>
<body>
<form id="form1" runat="server">

    <h1>My Website</h1>

    <a href="Home.aspx">Home</a> |
    <a href="About.aspx">About</a>

    <hr />

    <asp:ContentPlaceHolder
        ID="MainContent" runat="server" />

    <hr />
    <p>Copyright 2026 My Website</p>

</form>
</body>
</html>

home.aspx

<%@ Page Title="" Language="C#" MasterPageFile="~/Site1.Master" AutoEventWireup="true" CodeBehind="Home.aspx.cs" Inherits="aspmasterpage.Home" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
 <h2>Home Page</h2>
    <p>Welcome to my website!</p>
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
</asp:Content>

about.aspx

<%@ Page Title="About Us" Language="C#" MasterPageFile="~/Site1.master" AutoEventWireup="true"
    CodeBehind="About.aspx.cs" Inherits="aspmasterpage.About" %>

<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
 <h2>About Page</h2>
    <p>Go from  my website!</p>
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
</asp:Content>

Practical 3: XML

web.aspx

<%@ Page Language="C#" AutoEventWireup="true"
    CodeBehind="WebForm1.aspx.cs"
    Inherits="xmlpracticle.WebForm1" %>

<html>
<head id="Head1" runat="server">
    <title>XML Practical</title>
</head>
<body>
<form id="form1" runat="server">

    <h2>XML DataSet Practical</h2>

    <asp:Button ID="btnWrite" runat="server"
        Text="Write XML"
        OnClick="btnWrite_Click" />

    <asp:Button ID="btnRead" runat="server"
        Text="Read XML"
        OnClick="btnRead_Click" />

    <br /><br />

    <asp:GridView ID="GridView1"
        runat="server" />

</form>
</body>
</html>

web.aspx.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;

namespace xmlpracticle
{
    public partial class WebForm1 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {

        }

        protected void btnWrite_Click(object sender, EventArgs e)
        {
            DataSet ds = new DataSet();

            DataTable dt = new DataTable("Student");

            dt.Columns.Add("ID");
            dt.Columns.Add("Name");
            dt.Columns.Add("Age");

            dt.Rows.Add("1", "Juned", "21");
            dt.Rows.Add("2", "Rahul", "22");

            ds.Tables.Add(dt);

            ds.WriteXml(Server.MapPath("~/App_Data/student.xml"));
        }

        protected void btnRead_Click(object sender, EventArgs e)
        {
            DataSet ds = new DataSet();

            ds.ReadXml(Server.MapPath("~/App_Data/student.xml"));

            GridView1.DataSource = ds.Tables[0];
            GridView1.DataBind();
        }

    }
}

Note : make sure u have app_data folder ......

๐Ÿ’ฌ Questions & Discussion

Have a doubt? Ask below โ€” no login needed.

Loading comments...