1

我有两个文本框一个按钮和一个gridview。Q.1 当用户在文本框中输入详细信息并按下提交按钮时,我想相应地更新网格视图 Q.2 当用户点击网格视图中存在的“编辑”链接时,我想更改提交的文本按钮更新按钮。我该怎么做

我已经尝试过的:

aspx.cs 代码:

protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        this.BindGrid();
        string ID = Request.QueryString["ID"];
        cmd = new SqlCommand("Select * from UserDetails where ID='" + ID + "'", con);
        con.Open();
        ad = new SqlDataAdapter(cmd);
        dt.Clear();
        ad.Fill(dt);
        if (dt.Rows.Count > 0)
        {
            tbid.Text = ID;
            TextBox1.Text = dt.Rows[0][1].ToString();
            TextBox2.Text = dt.Rows[0][2].ToString();
        }
        con.Close();
    }
}  
protected void btnSubmit_Click(object sender, EventArgs e)
{
    SqlConnection con = new SqlConnection("Data Source=.;Initial Catalog=Test;Integrated Security=True");
    con.Open();

    string Name = TextBox1.Text;
    string Place = TextBox2.Text;

    using (SqlCommand cmd = con.CreateCommand())
    {
        cmd.CommandText = "insert into UserDetails(Name,Place) values('" + Name + "','" + Place + "')";
        cmd.Parameters.AddWithValue("@Name", TextBox1.Text);
        cmd.Parameters.AddWithValue("@Place", TextBox2.Text);
        cmd.ExecuteNonQuery();
        Label1.Text = "Record Successfully inserted";
    }
    con.Close();
    btnSubmit.Text = "Update";
    TextBox1.Text = string.Empty;
    TextBox2.Text = string.Empty;
    }
private void BindGrid()
{
    con.Open();
    ad = new SqlDataAdapter("Select * from UserDetails", con);
    ad.Fill(dt);
    GridView1.DataSource = dt;
    GridView1.DataBind();
    con.Close();
}
4

2 回答 2

1

打电话Refresh()没用?我不确定 ASP.NET,但你必须在 Forms 中进行。

于 2013-04-19T12:51:11.177 回答
0

用户提交新数据后,您可以尝试再次调用您的 bindgrid 方法,这样它会在新数据保存后重新绑定。对于编辑部分,GridView 有一个编辑模板,您可以尝试使用:http: //msdn.microsoft.com/en-us/library/ms972948.aspx

于 2013-04-19T13:19:17.553 回答