我正在尝试拥有一个网页,该网页从一个gridview获取值并将这些值复制到另一个gridview中。问题是我试图复制到的gridview嵌套在已经数据绑定的父网格视图中。但是,每次页面加载时,父网格视图都有一个函数rowDataBound,它将子gridview的复制数据覆盖为父级和子级的原始状态。
Diagram of what my webpage should look like and how it should work
将数据从一个网格视图复制到另一个网格视图后,如何防止rowDataBound被触发?
我一直在研究这个问题,任何回复都会受到赞赏! 感谢
答案 0 :(得分:0)
我认为这是一个更好的观点。您应该在绑定到GridView之前处理数据。一个简单的解决方案是将数据作为DataTable获取并访问该行以获取包含相关行的数据源。
DataTable myData = GetData();
DataTable dataToInject = new DataTable();
foreach(var row in myData.Rows) {
if ((int)row["id"] == 123) {
dataToInject = (DataTable) row["data"];
}
}
dataToInject可以在rowDataBound上传递给右行,或者在绑定到任何GridView之前预先处理所有数据,我建议这样做。避免使用rowDataBound并在业务逻辑或应用程序的服务层处理数据。