Asp.net 如何在页面上存储数据表以从gridview访问?

Asp.net 如何在页面上存储数据表以从gridview访问?,asp.net,gridview,datatable,Asp.net,Gridview,Datatable,我想查看gridview的RowDataBound事件中的datatable,并检查datatable中是否存在当前gridview列中的值。我只想在RowDataBound事件中创建我的datatable,但这意味着对于gridview的每一行,我都要往返于数据库并创建datatable。我宁愿先创建datatable,然后在RowDataBound事件中访问datatable。我知道如何使用标签或页面上的隐藏字段来实现这一点,但如何将datatable存储在可以从gridview的RowDa

我想查看gridview的RowDataBound事件中的datatable,并检查datatable中是否存在当前gridview列中的值。我只想在RowDataBound事件中创建我的datatable,但这意味着对于gridview的每一行,我都要往返于数据库并创建datatable。我宁愿先创建datatable,然后在RowDataBound事件中访问datatable。我知道如何使用标签或页面上的隐藏字段来实现这一点,但如何将datatable存储在可以从gridview的RowDataBound事件中访问的页面(或变量)上呢?我能否以某种方式将datatable作为参数传递到RowDataBound函数中?似乎我遗漏了一些非常简单的东西…

有一些服务器端容器可以使用,
项目
容器可能是一个完美的选择。您可以使用以下属性包装数据表:

public DataTable TempData
{
    get
    {
        if ( this.Context.Items["tempdata"] != null )
            return (DataTable)this.Items["tempdata"];
        return null;
    }
    set
    {
         this.Context.Items["tempdata"] = value;
    } 
}
this.TempData = yourdatatable;
然后访问该属性:

public DataTable TempData
{
    get
    {
        if ( this.Context.Items["tempdata"] != null )
            return (DataTable)this.Items["tempdata"];
        return null;
    }
    set
    {
         this.Context.Items["tempdata"] = value;
    } 
}
this.TempData = yourdatatable;
在某处找回它

DataTable storedTable = this.TempData;

有一些服务器端容器可供使用,
Items
容器可能是一个完美的选择。您可以使用以下属性包装数据表:

public DataTable TempData
{
    get
    {
        if ( this.Context.Items["tempdata"] != null )
            return (DataTable)this.Items["tempdata"];
        return null;
    }
    set
    {
         this.Context.Items["tempdata"] = value;
    } 
}
this.TempData = yourdatatable;
然后访问该属性:

public DataTable TempData
{
    get
    {
        if ( this.Context.Items["tempdata"] != null )
            return (DataTable)this.Items["tempdata"];
        return null;
    }
    set
    {
         this.Context.Items["tempdata"] = value;
    } 
}
this.TempData = yourdatatable;
在某处找回它

DataTable storedTable = this.TempData;

将DataTable声明为page类中的类级别变量。然后,您可以从任何方法访问它。

将DataTable声明为页面类中的类级变量。然后,您可以从任何方法访问它。

在VB中非常类似?(这就是我使用的语法…)是的,在VB中应该非常相似。VB也支持属性,加上你使用的是相同的技术。在VB中很相似吗?(这就是我使用的语法…)是的,在VB中应该非常相似。VB还支持属性,而且您使用的是相同的技术。