User-1174608757 posted
Hi Angate,
According to your description, I have made a sample here.You could add Response.redirect in the below of all the codes. It will redirect to your page and when you refresh the page , it won't post the data once again. Here is a demo , I hope it could help
you.
aspx:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:GridView ID="GridView1" runat="server"></asp:GridView>
<asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" />
</div>
</form>
</body>
</html>
aspx.cs:
Public Class Test2
Inherits System.Web.UI.Page
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If Not IsPostBack Then
Dim sql As String = "select * from students"
GridView1.DataSource = sqlhelper.ExecuteDataTable(sql)
GridView1.DataBind()
End If
End Sub
Protected Sub Button1_Click(sender As Object, e As EventArgs)
Dim sql As String = "insert into students values('c1','cc')"
sqlhelper.ExecuteNonQuery(sql)
Response.Redirect("Test.aspx")
End Sub
End Class
It works well as below:

Best Regards
Wei