I want my controls value.Insert only one time when I click the button
<p>I have a DropDownlist and a textbox in my page, when I click the button,Button1_Click event fire and get the value od textbox and droppdownlist and send them to my table in database and it shows me the result(new added row in my table in database) in gridview.
my problem is after I click the button if I refresh my page I mean click on reload Current page ,my dropdownlist value and textbox value insert again in my table .
I don't know how solve it?
my gridview use sqldatasource and this is my code:</p>

<pre><code>   protected void Button1_Click(object sender, EventArgs e)
  {
    int brandid = Convert.ToInt32(BrandDropDownList.SelectedValue);
    String catname = TextBox2.Text;
    SqlConnection cn = new SqlConnection();
    cn.ConnectionString = "server = . ; database = mobile_store ; Trusted_Connection=true";
    SqlCommand cmd = new SqlCommand();
    cmd.Connection = cn;
    cmd.CommandType = CommandType.StoredProcedure;
    cmd.CommandText = "FirstInitialiseCategories";
    cmd.Parameters.AddWithValue("@brandid ", brandid);
    cmd.Parameters.AddWithValue("@catname ", catname);
    try
    {
        cn.Open();
        cmd.ExecuteNonQuery();
        Label1.ForeColor = System.Drawing.Color.Green;
        Label1.Text = "با موفقیت ثبت شد!";
        SqlDataSource2.DataBind();

        GridView1.DataBind();
    }

    catch (Exception ex)
    {
        Label1.Text = ex.ToString();
        Label1.ForeColor = System.Drawing.Color.Red;
        Label1.Text = "خطا در ثبت!";
    }
    finally
    { cn.Close(); }
}
</code></pre>
