HTML:
<form id="form1" runat="server">
<div>
Student Name
<asp:TextBox runat="server" ID="txtStudentName" />
<br />
<asp:ScriptManager runat="server">
</asp:ScriptManager>
<asp:UpdatePanel runat="server">
<ContentTemplate>
<asp:Button ID="btnSearch" OnClick="btnsearch1_Click" runat="server" Text="Search" />
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false" OnRowEditing="GridView1_OnRowEditing"
OnRowUpdating="GridView1_OnRowUpdating" DataKeyNames="RollNumber">
<Columns>
<asp:TemplateField HeaderText="Student Name">
<ItemTemplate>
<asp:Label ID="lblStudentName" Text='<%# Eval("StudentName") %>' runat="server" />
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="txtStudentName" Text='<%# Eval("StudentName") %>' runat="server" />
</EditItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Father Name">
<ItemTemplate>
<asp:Label ID="lblFatherName" Text='<%# Eval("FatherName") %>' runat="server" />
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="txtFatherName" Text='<%# Eval("FatherName") %>' runat="server" />
</EditItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Mother Name">
<ItemTemplate>
<asp:Label ID="lblMotherName" Text='<%# Eval("MotherName") %>' runat="server" />
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="txtMotherName" Text='<%# Eval("MotherName") %>' runat="server" />
</EditItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Mobile Number">
<ItemTemplate>
<asp:Label ID="lblMobileNumber" Text='<%# Eval("MobileNumber") %>' runat="server" />
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="txtMobileNumber" Text='<%# Eval("MobileNumber") %>' runat="server" />
</EditItemTemplate>
</asp:TemplateField>
<asp:ButtonField CommandName="Edit" ButtonType="Button" Text="Edit" />
<asp:ButtonField CommandName="Update" ButtonType="Button" Text="Update" />
</Columns>
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</form>
C#:
protected void Page_Load(object sender, EventArgs e)
{
if (!this.IsPostBack)
{
this.BindDetails();
}
}
private void BindDetails()
{
string constr = ConfigurationManager.ConnectionStrings["ConString2"].ConnectionString;
string sqlStatment = "SELECT * FROM Students1";
using (SqlConnection con = new SqlConnection(constr))
{
using (SqlCommand cmd = new SqlCommand(sqlStatment, con))
{
using (SqlDataAdapter da = new SqlDataAdapter(cmd))
{
DataSet ds = new DataSet();
da.Fill(ds);
this.GridView1.DataSource = ds;
this.GridView1.DataBind();
}
}
}
}
private void BindDetails(string studentName)
{
string constr = ConfigurationManager.ConnectionStrings["ConString2"].ConnectionString;
string sqlStatment = "SELECT * FROM Students1 WHERE StudentName = @StudentName";
using (SqlConnection con = new SqlConnection(constr))
{
using (SqlCommand cmd = new SqlCommand(sqlStatment, con))
{
using (SqlDataAdapter da = new SqlDataAdapter(cmd))
{
cmd.Parameters.AddWithValue("@StudentName", studentName);
DataSet ds = new DataSet();
da.Fill(ds);
this.GridView1.DataSource = ds;
this.GridView1.DataBind();
}
}
}
}
protected void GridView1_OnRowUpdating(object sender, GridViewUpdateEventArgs e)
{
int rollNumber = Convert.ToInt32(GridView1.DataKeys[e.RowIndex].Values["RollNumber"].ToString());
System.Web.UI.WebControls.TextBox txtStudentName = (System.Web.UI.WebControls.TextBox)GridView1.Rows[e.RowIndex].FindControl("txtStudentName");
System.Web.UI.WebControls.TextBox txtFatherName = (System.Web.UI.WebControls.TextBox)GridView1.Rows[e.RowIndex].FindControl("txtFatherName");
System.Web.UI.WebControls.TextBox txtMotheName = (System.Web.UI.WebControls.TextBox)GridView1.Rows[e.RowIndex].FindControl("txtMotherName");
System.Web.UI.WebControls.TextBox txtMobileNumber = (System.Web.UI.WebControls.TextBox)GridView1.Rows[e.RowIndex].FindControl("txtMobileNumber");
string constr = ConfigurationManager.ConnectionStrings["ConString2"].ConnectionString;
string sqlStatment = "UPDATE Students1 Set RollNumber =@RollNumbeer ,StudentName= @StudentName,MotherName= @MotherName,FatherName = @FatherName ,MobileNumber = @MobileNumber WHERE RollNumber= @RollNumbeer";
using (SqlConnection con = new SqlConnection(constr))
{
using (SqlCommand cmd = new SqlCommand(sqlStatment, con))
{
con.Open();
cmd.Parameters.AddWithValue("@RollNumbeer", rollNumber);
cmd.Parameters.AddWithValue("@StudentName", txtStudentName.Text);
cmd.Parameters.AddWithValue("@MotherName", txtMotheName.Text);
cmd.Parameters.AddWithValue("@FatherName", txtFatherName.Text);
cmd.Parameters.AddWithValue("@MobileNumber", txtMobileNumber.Text);
cmd.ExecuteNonQuery();
con.Close();
GridView1.EditIndex = -1;
this.BindDetails();
}
}
}
protected void GridView1_OnRowEditing(object sender, GridViewEditEventArgs e)
{
GridView1.EditIndex = e.NewEditIndex;
if (GridView1.Rows.Count == 1)
{
string studentName = (this.GridView1.Rows[e.NewEditIndex].FindControl("lblStudentName") as Label).Text;
BindDetails(studentName);
}
else
{
this.BindDetails();
}
}
protected void btnsearch1_Click(object sender, EventArgs e)
{
string constr = ConfigurationManager.ConnectionStrings["ConString2"].ConnectionString;
string sqlStatment = "SELECT * FROM Students1 WHERE StudentName = @StudentName";
using (SqlConnection con = new SqlConnection(constr))
{
using (SqlCommand cmd = new SqlCommand(sqlStatment, con))
{
using (SqlDataAdapter da = new SqlDataAdapter(cmd))
{
cmd.Parameters.AddWithValue("@StudentName", this.txtStudentName.Text.Trim());
DataSet ds = new DataSet();
da.Fill(ds);
this.GridView1.DataSource = ds;
this.GridView1.DataBind();
}
}
}
}
Image:

SQL:
CREATE TABLE [dbo].[Students1](
[RollNumber] [int] NULL,
[StudentName] [varchar](50) NULL,
[MotherName] [varchar](50) NULL,
[FatherName] [varchar](50) NULL,
[MobileNumber] [varchar](11) NULL
) ON [PRIMARY]
GO