需求:
一个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 消息泵处理期间,阻塞调用线程,直到某个线程终止为止。
通过此方法可以实现单个页面的多线程处理以提高效率。
相关文章
- 下载文件时-修改文件名字 Redis在Windows中安装方法 SVN安装和使用(简单版) WinForm-SQL查询避免UI卡死 Asp.Net MVC Https设置
- 如何使用响应在新选项卡中打开页面。在asp.net重定向
- ASP.NET中在一般处理程序中使用session的简单介绍
- 在ASP.NET 2.0中操作数据之三十五:使用Repeater和DataList单页面实现主/从报表
- 是否有一种方法可以使用JavaScript在web页面中漂亮地打印JSON ?
- 您将如何使用ASP.NET MVC在CMS中创建页面?
- 在ASP.NET Web API 2中使用Owin OAuth 刷新令牌(示例代码)
- 在使用asp.net mvc中的Web服务时,找不到引用合同“服务”错误的默认端点元素
- ASP.NET MVC Filters 4种默认过滤器的使用【附示例】 数据库常见死锁原因及处理 .NET源码中的链表 多线程下C#如何保证线程安全? .net实现支付宝在线支付 彻头彻尾理解单例模式与多线程 App.Config详解及读写操作 判断客户端是iOS还是Android,判断是不是在微信浏览器打开
- 在Web页面上使用字体的简单原则