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>())
    {
    }