最近在做一个信息采集程序 大概流程是 首先输入一个网址 是一个新闻列表网页,然后再获取列表网页里的所有新闻连接,在根据新闻连接获取新闻。
遇到一个问题
一个库表weburl里面存储了所有的新闻列表也的网址weburl
我获取了标中的所有连接到一个table中叫dt
然后我
foreach (DataRow row in dt.Rows)
{***this.label1.text=row["weburl"].tostring();****
//获取了所有的新闻连接到一个数组string[]叫AllUrl
foreach(string url in AllUrl)
{
//然后获取每个连接中的新闻内容。
***this.label2.text=url;
}
}问题时这样的,我设置了2个label1,label2
我希望循环过程中。让列表网页网址显示在label1中,让每一条信息网页url显示在label2中,没一秒显示一个,
当子循环显示结束后,label1变换到下一个新闻列表网址,然后label2再每一秒显示一个新闻页面的网址,直到父循环循环完毕
这个问题已经困扰我2天了,
请各位高手解答 或者给各思路,或者告诉我这个过程用到了什么控件,
指条明路~!~谢谢
遇到一个问题
一个库表weburl里面存储了所有的新闻列表也的网址weburl
我获取了标中的所有连接到一个table中叫dt
然后我
foreach (DataRow row in dt.Rows)
{***this.label1.text=row["weburl"].tostring();****
//获取了所有的新闻连接到一个数组string[]叫AllUrl
foreach(string url in AllUrl)
{
//然后获取每个连接中的新闻内容。
***this.label2.text=url;
}
}问题时这样的,我设置了2个label1,label2
我希望循环过程中。让列表网页网址显示在label1中,让每一条信息网页url显示在label2中,没一秒显示一个,
当子循环显示结束后,label1变换到下一个新闻列表网址,然后label2再每一秒显示一个新闻页面的网址,直到父循环循环完毕
这个问题已经困扰我2天了,
请各位高手解答 或者给各思路,或者告诉我这个过程用到了什么控件,
指条明路~!~谢谢
=-=====================================
不能使用上面的传统的页面,应该使用Ajax技术实现。
{
//获取了所有的新闻连接到一个数组string[]叫AllUrl
foreach(string url in AllUrl)
{
***this.label1.text=row[ "weburl "].tostring();****
//然后获取每个连接中的新闻内容。
***this.label2.text=url;
}
}
不知道这样是不是你想要的呢!呵呵
在前台创建一个BUTTON id="button1" 并隐藏onclick调用和上面相似的代码,作用是获取Hidden2.value从数据库中获取当前要显示的weburl
然后前台有一段javascript代码用SETTIMEOUT(FUNCTION(),1000)函数在label2中循环显示新闻页面的网址,当该循环结束后,调用button1.submit();即可
总而言之,你所说的外层循环即weburl是放在服务器端执行的,而内层循环则有客户端的javascript控制,当客户端循环结束后,就自动向服务端请求下一个weburl和allurl
个人的愚见,望高人指点!
5楼的多线程技术是什么样的。能给些例子参考下么?我听过从来没见过
foreach (DataRow row in dt.Rows)
{***this.label1.text=row[ "weburl "].tostring();****
//获取了所有的新闻连接到一个数组string[]叫AllUrl
foreach(string url in AllUrl)
{
//然后获取每个连接中的新闻内容。
***this.label2.text=url;
Timer t = new Timer(new TimerCallback(TimerProc));
t.Change(0, 1000);}
}
private void TimerProc(object state)
{
Timer t = (Timer) state;
t.Dispose();
}这样就实现你要的功能了。
{***this.label1.text=row[ "weburl "].tostring();****
//获取了所有的新闻连接到一个数组string[]叫AllUrl
foreach(string url in AllUrl)
{
//然后获取每个连接中的新闻内容。
***this.label2.text=url;
Thread.Sleep( 1000 );
}
} 这样简单点
this.label2.Fresh();
测试通过。