Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# GridView_行使用列表C更新,_C#_Asp.net_Gridview - Fatal编程技术网

C# GridView_行使用列表C更新,

C# GridView_行使用列表C更新,,c#,asp.net,gridview,C#,Asp.net,Gridview,我是asp/c方面的新手,我正在尝试做一次更新,但我做不到。我不知道为什么它不起作用,但可能是因为它使用的是列表而不是数据库(我不知道是否有问题)。这是我的代码: 页面加载 if (!IsPostBack) { ListOne = new List<Empl>(); ListOne.Add(new Empl("0000", "Name", "lastname")); ViewState["Listado"] = ListOne;

我是asp/c方面的新手,我正在尝试做一次更新,但我做不到。我不知道为什么它不起作用,但可能是因为它使用的是列表而不是数据库(我不知道是否有问题)。这是我的代码:

页面加载

if (!IsPostBack)
    {
        ListOne = new List<Empl>();
        ListOne.Add(new Empl("0000", "Name", "lastname"));
        ViewState["Listado"] = ListOne;
    }
    else
    {
        ListOne = ((List<Empl>)(ViewState["Listado"]));
    }

    PersonasGridView.DataSource = ListOne;
    PersonasGridView.DataBind();
我认为问题与列表有关,或者我没有得到值


任何帮助都将不胜感激

您的viewstate可能有问题。您的listone在pageload事件中只能被取消标记一次。若您尝试更新行,则可能会放置空数据。签入调试器EmplGridView_RowUpdate方法中的ListOne是什么?如果它为空,则必须将数据添加到其他位置的ListOne。例如,在databin RowUpdate方法之前,请在IsPostBack块外部或OnEveryLoad方法(或类似方法)中进行绑定。

尝试将绑定保留在
中!iPostback
我确实尝试过,但没有效果,感谢您删除
其他部分
并仅在
中添加数据绑定!iPostback
。您只是这样做的吗?
 protected void EmplGridView_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
    GridViewRow row = EmplGridView.Rows[e.RowIndex];

    TextBox txtBox = (TextBox)(row.Cells[0].Controls[0]);
    String str = txtBox.Text;
    busqResult.Text = str;//I just put this to know if I'm getting a value, but it is empty

    PersonasGridView.EditIndex = -1;
    PersonasGridView.DataSource = ListOne;
    PersonasGridView.DataBind();
}