如何将文本框中的值保存在ASP.NET上的绑定GridView中?

时间:2017-05-12 09:50:36

标签: c# asp.net gridview

我有gridView,里面有可修改的textbox

我还有dropdownlist,如果单击dropdownlist,系统将在SQL中读取数据库并将其显示在gridView中。

如果在点击gridView后添加新数据时,如何保留我之前在dropdownlist第一行输入的数字?

  

通常情况下,如果我重新绑定textbox,并重新使用保存的列表或行为重新填充gridView,则会重置之前输入的textbox

非常感谢您提前

2 个答案:

答案 0 :(得分:0)

我假设您正在使用类似DropDownList的OnSelectedIndexChanged事件。在那里,您可以使用FindControl查找TextBox,存储数据,重新绑定GridView并将值设置回TextBox。您需要使用FindControl两次,一次用于旧的,一次用于新的TextBox。

请注意使用oldValues.Count代替GridView1.Rows.Count。如果新数据集中的行数少于旧数据集中的行数,则会出现“索引超出边界”错误。

protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
    List<string> oldValues = new List<string>();

    for (int i = 0; i < GridView1.Rows.Count; i++)
    {
        TextBox tbOld = GridView1.Rows[i].FindControl("TextBox1") as TextBox;
        oldValues.Add(tbOld.Text);
    }

    //rebind gridview here

    for (int i = 0; i < oldValues.Count; i++)
    {
        TextBox tbNew = GridView1.Rows[i].FindControl("TextBox1") as TextBox;
        tbNew.Text = oldValues[i];
    }
}

答案 1 :(得分:0)

你在gridview中使用了dropdownlist和textbox吗?

如果单击下拉列表选择值然后回发到服务器并重置文本框值?