gpt4 book ai didi

c# - ASP .NET 中 DataBind() 函数的反转是什么

转载 作者:太空宇宙 更新时间:2023-11-03 11:53:27 25 4
gpt4 key购买 nike

我目前正在使用来自 ArrayList 的数据源与 GridView 进行数据绑定(bind)。有没有一种方法可以通过一行代码来反转绑定(bind)并从 GridView 中获取值?

// Bind to GUI
ArrayList dsList;
gvName.DataSource = dsList;
gvName.DataBind();

// Current Way of getting code from GUI
int iRow = 0;
foreach (GridViewRow gvr in gvName.Rows)
{
TextBox txtD1 = gvName.FindControl("textboxName") as TextBox;
if (txtD1 != null)
{
dsList[iRow].D1 = txtD1.Text;
}
....
iRow++;
}

有没有什么办法可以让这个更短像一个类轮? API 有这个吗?

gvName.ReverseDataBind();

最佳答案

API 中不存在这样的方法。

如果您有兴趣在页面构造期间获取绑定(bind)源,那么最好的方法是使源成为页面本身的类级属性,以便它在页面的任何方法中都可用。例如:

public class MyPage: Page {
ArrayList dsList = new ArrayList();

ArrayList DsList {
get {
return this.dsList;
}
}

如果您有兴趣在回发中获取绑定(bind)源(以响应客户端生成的事件),则可以通过某些条件实现。假设您不想重建绑定(bind)源(例如,通过重新查询数据库,这应该始终被考虑),您必须在第一次获取它时将其保存在某处,这样您可以稍后访问它。 (数据绑定(bind) Web 控件本身不会这样做。)某处可以是数据库,但有时为了方便,人们将其保存到 ViewState 或将其存储在 Session 中。这两种方法都有其危险,应谨慎使用 - ViewState 会增加发送到客户端的 Html 的大小,而 Session 会消耗服务器内存,直到它被明确清除或 session 超时。

关于c# - ASP .NET 中 DataBind() 函数的反转是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1409410/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com