First page html:
<form id="form1" runat="server">
<div>
<asp:GridView ID="gvModule" runat="server" AllowPaging="False" AutoGenerateColumns="False"
CssClass="gridView">
<Columns>
<asp:TemplateField HeaderText="ID">
<ItemTemplate>
<asp:LinkButton ID="btnPassRowData" Text='<%# Eval("mod_id") %>' runat="server" OnClick="PassData" />
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="age" HeaderText="Age" />
<asp:BoundField DataField="salary" HeaderText="Salary" />
</Columns>
</asp:GridView>
</div>
</form>
first page c# code:
protected void Page_Load(object sender, EventArgs e)
{
if (!this.IsPostBack)
{
DataTable dt = new DataTable();
dt.Columns.AddRange(new DataColumn[3] { new DataColumn("mod_id", typeof(int)),
new DataColumn("age", typeof(int)),
new DataColumn("salary",typeof(int)) });
dt.Rows.Add(1, 21, 15000);
dt.Rows.Add(2, 22, 16000);
dt.Rows.Add(3, 25, 18000);
dt.Rows.Add(4, 24, 17000);
gvModule.DataSource = dt;
gvModule.DataBind();
}
}
protected void PassData(object sender, EventArgs e)
{
GridViewRow gr = ((sender as LinkButton).NamingContainer as GridViewRow);
Session["age"] = gr.Cells[1].Text.Trim();
Session["salary"] = gr.Cells[2].Text.Trim();
Response.Redirect("DataPage.aspx");
}
second page html:
<form id="form1" runat="server">
<div>
Age:
<asp:TextBox ID="txtAge" runat="server" />
<br />
Salary
<asp:TextBox ID="txtSalary" runat="server" />
</div>
</form>
second page c# code:
protected void Page_Load(object sender, EventArgs e)
{
if (!this.IsPostBack)
{
txtAge.Text = Session["age"].ToString();
txtSalary.Text = Session["salary"].ToString();
}
}