c# 线程执行gridview 绑定

c# 线程执行gridview 绑定
需求:
一个web页面 default.aspx 里面有两个控件GridView1,GridView2,通过两个线程分别加载绑定数据。

绑定GridView1:
void BindCategory()
    {


        SqlConnection conn = ReturnSqlconn();
        SqlCommand comm = new SqlCommand("select * from category", conn);
        conn.Open();
        SqlDataReader sdr = comm.ExecuteReader();


        GridView1.DataSource = sdr;
        GridView1.DataBind();
    }

绑定GridView2:

void BindNews()
    {
        SqlConnection conn = ReturnSqlconn();
        SqlCommand comm = new SqlCommand("select * from News", conn);
        conn.Open();
        SqlDataReader sdr = comm.ExecuteReader();


        GridView2.DataSource = sdr;
        GridView2.DataBind();


    }

加载两个方法,绑定数据:

protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            try
            {
                Thread categoryThread = new Thread(new ThreadStart(BindCategory));
                Thread newsThread = new Thread(new ThreadStart(BindNews));


                categoryThread.Start();
                newsThread.Start();


                categoryThread.Join();
                newsThread.Join();
            }
            catch (Exception ex)
            {
                Response.Write(ex);
            }
        }
    }


实现效果


注意:
categoryThread.Join();
newsThread.Join();
这两个函数很关键,否则导致页面绑定失败;Join方法使创建的2个线程与页面加载同步;Join在MSND上的解释是:在继续执行标准的 COM 和 SendMessage 消息泵处理期间,阻塞调用线程,直到某个线程终止为止。

通过此方法可以实现单个页面的多线程处理以提高效率。

posted on 2020-07-14 09:33 青蛙學堂 阅读(206) 评论(0)  编辑 收藏 引用 所属分类: c#

只有注册用户登录后才能发表评论。
<2020年8月>
2627282930311
2345678
9101112131415
16171819202122
23242526272829
303112345

导航

统计

常用链接

留言簿(7)

随笔分类

随笔档案

收藏夹

青蛙学堂

最新评论

阅读排行榜

评论排行榜

60天内阅读排行