C# 如何循环浏览整个gridview行,包括其他页面中的行?
我知道如何循环浏览栅格视图行:C# 如何循环浏览整个gridview行,包括其他页面中的行?,c#,asp.net,loops,gridview,data-paging,C#,Asp.net,Loops,Gridview,Data Paging,我知道如何循环浏览栅格视图行: 但是如果启用分页,我想做的是在整个gridview中循环,包括其他页面中的行。 如何执行此操作?您可以使用Cast或of type转换为IEnumerable: foreach(GridView1.Rows.OfType()中的GridViewRow oItem) { } 或: foreach(GridView1.Rows.Cast()中的GridViewRow oItem) { } 在这种情况下,两者都使用是正确的,因为行仅包含GridViewRow的元
但是如果启用
分页
,我想做的是在整个gridview中循环,包括其他页面中的行。
如何执行此操作?您可以使用Cast
或of type
转换为IEnumerable
:
foreach(GridView1.Rows.OfType()中的GridViewRow oItem)
{
}
或:
foreach(GridView1.Rows.Cast()中的GridViewRow oItem)
{
}
在这种情况下,两者都使用是正确的,因为行
仅包含GridViewRow
的元素。但您不应注意到两种方法之间的不同:
@请记住,任何对服务器端对象(如GridViewRow)的操作都是处理数据最糟糕的方式。如果您需要任何数据驱动的操作,请在数据源中进行,而不是在视图中进行。为什么不在数据源中循环?嗯,谢谢,但这解决了我的问题。例如,如果网格有5行,而我在最后一页有一行。循环计数是
1
而不是5
!!!我想循环浏览整个页面,而不仅仅是所选页面。问题是我有文本框作为模板fields@just_name不能使用绑定将文本框值绑定到源中的模型?你能描述完整的问题吗,有更好的方法解决吗?
foreach (GridViewRow oItem in GridView1.Rows)
{
//
}
foreach (GridViewRow oItem in GridView1.Rows.OfType<GridViewRow>())
{
}
foreach (GridViewRow oItem in GridView1.Rows.Cast<GridViewRow>())
{
}