Hai
Pls use update panel for ur grid view and button click,bcz in page load u just load data in gridview,when u check and click button ,it again redired page ,i mean page hoit the server so again page load event occur,in page load event u will write gridview bind ,so again it bind data in grid view.
if u use update panel for gridview and button,then page partial post back,i mean it will not full redirect ,so gridview not bind again.
<ajax:UpdatePanel ID="UpdatePanel" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<div>
<asp:Button ID="btnsubmit" runat="server" Text="Send" onclick="btnsubmit_Click" />
</div>
<asp:GridView ID="GridView" Visible="false" runat="server" HeaderStyle-Width="200" HeaderStyle-BackColor="#2B6292" HeaderStyle-ForeColor="White"
AllowSorting="true" AllowPaging="true" Width="600" AutoGenerateColumns="False" OnRowCreated="GridView_OnRowCreated"
DataKeyNames="Id" onsorting="GridView_OnSort">
<Columns>
...
</Columns>
</asp:GridView>
</ContentTemplate>
<Triggers>
<ajax:AsyncPostBackTrigger ControlID="btnsubmit"/>
</Triggers>
</ajax:UpdatePanel>
Like this try...