0

我的页面中有一个 DropDownlist 和一个文本框,当我单击按钮时,Button1_Click 事件触发并获取值 od 文本框和 droppdownlist 并将它们发送到我在数据库中的表,它会显示结果(在我的表中添加新行数据库)在gridview中。我的问题是单击按钮后,如果我刷新页面我的意思是单击重新加载当前页面,我的下拉列表值和文本框值再次插入我的表中。不知道怎么解决?我的 gridview 使用 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(); }
}
4

2 回答 2

2

完成第一次插入后,您可以执行 HTTP 重定向(到同一页面),它应该可以解决问题:

Response.Redirect("samePage.aspx");
于 2013-02-10T18:10:11.923 回答
0

下拉列表中的第一项是什么?您可以为第一项设置空值,当您将值插入数据库时​​,您可以添加代码以清除文本框和下拉列表。

最后 { cn.Close(); 标签1.Text =“”;ddl.SelectedIndex = 0; }

于 2013-02-10T18:20:38.067 回答