try this
protected void Page_Load(object sender, EventArgs e) {
if (!this.IsPostBack)
{
DataTable dt = new DataTable();
dt.Columns.Add("Id");
dt.Columns.Add("Name");
dt.Columns.Add("Description");
dt.Rows.Add(1, "Apple", "a fruit");
dt.Rows.Add(2, "Ball", "an object");
dt.Rows.Add(3, "Cat", "meow");
dt.Rows.Add(4, "Dog", "bow wow");
GridView1.DataSource = dt;
GridView1.DataBind();
}
}
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script src="http://ajax.aspnetcdn.com/ajax/jquery.ui/1.8.9/jquery-ui.js" type="text/javascript"></script>
<link href="http://ajax.aspnetcdn.com/ajax/jquery.ui/1.8.9/themes/start/jquery-ui.css"
rel="stylesheet" type="text/css" />
<script type="text/javascript">
$(function () {
var grid = document.getElementById('<%= GridView1.ClientID%>');
$('tr', grid).on('click', function () {
$("#id").html($(".Id", $(this).closest("tr")).html());
$("#name").html($(".Name", $(this).closest("tr")).html());
$("#description").html($(".Description", $(this).closest("tr")).html());
$("#dialog").dialog({
title: "View Details",
buttons: {
Ok: function () {
$(this).dialog('close');
}
},
modal: true
});
});
});
</script>
<asp:GridView ID="GridView1" HeaderStyle-BackColor="#3AC0F2" HeaderStyle-ForeColor="White"
runat="server" AutoGenerateColumns="false">
<Columns>
<asp:BoundField DataField="Id" ItemStyle-CssClass="Id" HeaderText="Id" ItemStyle-Width="30" />
<asp:BoundField DataField="Name" ItemStyle-CssClass="Name" HeaderText="Name" ItemStyle-Width="150" />
<asp:BoundField DataField="Description" ItemStyle-CssClass="Description" HeaderText="Description"
ItemStyle-Width="150" />
</Columns>
</asp:GridView>
<div id="dialog" style="display: none">
Id: <span id="id"></span>
<br />
Name: <span id="name"></span>
<br />
Description: <span id="description"></span>
</div>
slightly modified from
this based on your question.