Hi  dorsa,
Refer below sample.
HTML
CS.aspx
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script type="text/javascript">
    $(function () {
        $("a").on("click", function () {
            var rowIndex = $(this).closest("tr")[0].rowIndex;
            window.open($(this).attr('href').split("?")[0] + "?Index=" + rowIndex, "", "width=500,height=300");
            return false;
        });
    });    
</script>
<div>
    <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False">
        <Columns>
            <asp:BoundField DataField="Id" HeaderText="Id" />
            <asp:BoundField DataField="Name" HeaderText="Name" />
            <asp:HyperLinkField DataNavigateUrlFields="Id" DataNavigateUrlFormatString="Details.aspx?Id={0}"
                DataTextField="Id" DataTextFormatString="لیست حضور و غیاب کلاسی" />
        </Columns>
    </asp:GridView>
</div>
Details.aspx
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script type="text/javascript">
    $(function () {
        if (window.opener != null && !window.opener.closed) {
            var rowIndex = window.location.href.split("?")[1].split("=")[1];
            var parent = $(window.opener.document).contents();
            var row = parent.find("[id*=GridView1]").find("tr").eq(rowIndex);
            $("#id").html(row.find("td").eq(0).html());
            $("#name").html(row.find("td").eq(1).html());
        }
    });
</script>
<div>
    <u>Details</u>
    <br />
    <br />
    <b>Id:</b> <span id="id"></span>
    <br />
    <b>Name:</b> <span id="name"></span>
</div>
Namespaces
C#
using System.Data;
VB.Net
Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load
    If Not Me.IsPostBack Then
        Dim dt As DataTable = New DataTable()
        dt.Columns.AddRange(New DataColumn() {New DataColumn("Id", GetType(Integer)), New DataColumn("Name", GetType(String))})
        dt.Rows.Add(1, "John Hammond")
        dt.Rows.Add(2, "Mudassar Khan")
        dt.Rows.Add(3, "Suzanne Mathews")
        dt.Rows.Add(4, "Robert Schidner")
        GridView1.DataSource = dt
        GridView1.DataBind()
    End If
End Sub
Code
CS.aspx.cs
protected void Page_Load(object sender, EventArgs e)
{
    if (!this.IsPostBack)
    {
        DataTable dt = new DataTable();
        dt.Columns.AddRange(new DataColumn[] { new DataColumn("Id", typeof(int)),
                        new DataColumn("Name", typeof(string))});
        dt.Rows.Add(1, "John Hammond");
        dt.Rows.Add(2, "Mudassar Khan");
        dt.Rows.Add(3, "Suzanne Mathews");
        dt.Rows.Add(4, "Robert Schidner");
        GridView1.DataSource = dt;
        GridView1.DataBind();
    }
}
VB.aspx.vb
Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load
    If Not Me.IsPostBack Then
        Dim dt As DataTable = New DataTable()
        dt.Columns.AddRange(New DataColumn() {New DataColumn("Id", GetType(Integer)), New DataColumn("Name", GetType(String))})
        dt.Rows.Add(1, "John Hammond")
        dt.Rows.Add(2, "Mudassar Khan")
        dt.Rows.Add(3, "Suzanne Mathews")
        dt.Rows.Add(4, "Robert Schidner")
        GridView1.DataSource = dt
        GridView1.DataBind()
    End If
End Sub
Screenshot
