【问题标题】:Text (TextBox) updated lost when gridview go to next page当gridview转到下一页时,文本(TextBox)更新丢失
【发布时间】:2023-03-12 04:05:01
【问题描述】:

我创建了一个用于填充数据的gridview,以及一些用于更新数据和gridview 分页的用户控件(TextBox)。在底部有一个更新用户输入的按钮。 该表基本上是从表中填充名称,文本框用于更新该名称。

[表格]
123456..>>
[按钮]

当我转到下一页时,我从上一页插入的数据丢失了。

当我导航到下一页时,有什么方法可以保留数据吗?

【问题讨论】:

    标签: c# asp.net gridview


    【解决方案1】:

    gridview 的分页机制导致回发。听起来您的控件没有将其信息保存到视图状态中,或者在重新加载页面时它们正在重置为默认值,或者您根本没有在回发中保存您的信息,所以它只是从原始重新加载所有内容数据源。

    检查这些控件的视图状态是否已打开,并确保您没有重置页面加载等代码中的值,以及是否需要将信息保存回正在发生的数据源。

    【讨论】:

    • 嗯,..是的,我已经检查过了,但似乎没有效果。我认为这是我进行分页的方式,OnPageIndexChanging 我调用了这个方法来做这样的事情,gvName.PageIndex = e.NewPageIndex;数据表 dt = getData(); gvName.DataSource = dt; gvName.DataBind();所以,也许,每次我更改页面时,我都会用数据源重新填充 gridview,因此填充的文本框会丢失它的数据。我不太确定...
    • 这正是您通过调用 GetData 然后重新绑定它所做的事情。如果您以任何方式修改了值,例如添加记录或更改字段,则需要先保存然后重新绑定。
    • hmm...也就是说,我需要将文本框中的值保存在内存中,然后重新绑定页面吗?
    • 是或将它们提交回您的数据存储 (DB),然后当您重新绑定 (getData()) 时,它们将绑定到网格。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-09-29
    • 1970-01-01
    • 2020-12-13
    • 2016-08-04
    • 2011-07-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多