C#.net中的数据表

C#.net中的数据表,c#,.net,database,datatable,C#,.net,Database,Datatable,我有一个与.net中的DataTable相关的问题。 我正在尝试在加载页面上填充数据表。该部分正常无问题数据表正确填充了数据。但我注意到当我点击页面上的按钮时。。。它再次尝试填充数据表,这只是一项耗时的任务。。。我想datatable应该只填写一次,当,当网站在浏览器中打开。。不是每次点击。。。因为我的表中有大量数据,所以在datatable中加载需要时间。。 请帮帮我。。。 这是我的密码: protectd void Page_Load(object sender, EventArgs e)

我有一个与.net中的DataTable相关的问题。 我正在尝试在加载页面上填充数据表。该部分正常无问题数据表正确填充了数据。但我注意到当我点击页面上的按钮时。。。它再次尝试填充数据表,这只是一项耗时的任务。。。我想datatable应该只填写一次,当,当网站在浏览器中打开。。不是每次点击。。。因为我的表中有大量数据,所以在datatable中加载需要时间。。 请帮帮我。。。 这是我的密码:

protectd void Page_Load(object sender, EventArgs e)
{
        cnn.ConnectionString= ConfigurationManager.ConnectionStrings["con"].ConnectionString;

      //  if (this.IsPostBack == true)
        {
            dr1 = TableUtoP(); 
            dtWordsList.Load(dr1);
       }
}

OleDbDataReader TableUtoPunj(String ArrWord)
    {
        if (cnn.State == ConnectionState.Open)
        {
            cnn.Close();
        }
        cnn.Open();
        OleDbCommand cmd = new OleDbCommand();
        cmd.CommandText = "SELECT U, P from UtoP";
        cmd.Connection = cnn;
        OleDbDataReader dr = cmd.ExecuteReader();
        return dr;
    }

您需要检查页面是否正在发回,如下所示:

protected void Page_Load(object sender, EventArgs e)
{
    cnn.ConnectionString= ConfigurationManager.ConnectionStrings["con"].ConnectionString;

    if(!IsPostBack)
    {
        // This will only happen when the page is first loaded, as the first time is not considered a post back, but all others are
        dr1 = TableUtoP(); 
        dtWordsList.Load(dr1);
    }
}

仅当数据表不是回发时才填充它

protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        //TO DO: Make the call to fill the data table here
   }
}

这段代码有太多的错误,我想你真正需要的是一个基本的C课程。你是否有可能在每次回发时重新加载表,因为你在两篇文章之间丢失了它的内容?问题名称不应该包括标记(C#,.NET),应该描述问题。我打算编辑它,但如果我删除标签,那么你的标题将只是DataTable…谢谢。。。我已经试过了(注释了有问题的代码)。。但是没有帮上忙。。最初,当页面开始时…默认情况下回发为false,它输入if条件并填充数据表。。。但当我点击按钮。。那次回发是真的,我没有尝试填充DTs。。。之后,它表明DT没有数据。。。