ページにドロップダウンリストとテキストボックスがあり、ボタンをクリックするとButton1_Clickイベントが発生し、テキストボックスとドロップダウンリストの値を取得してデータベースのテーブルに送信すると、結果が表示されます(テーブルに新しく追加された行データベース) グリッドビューで。私の問題は、ページを更新するときにボタンをクリックした後です。つまり、現在のページの再読み込みをクリックすると、ドロップダウンリストの値とテキストボックスの値がテーブルに再度挿入されます。よくわからないけど解決?私のグリッドビューはsqldatasourceを使用しており、これが私のコードです:
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(); }
}