关于手动更新updatepanel的问题

课文 2014-04-14 05:26:24
在ASP.NET下写了一个串口接收页面,结果数据时接收到了,但无法实时的显示到页面上,求大神们指点!
尝试用updatepanel.update()结果没反应。。。。

代码如下:
void comm_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
int n = comm.BytesToRead;//先记录下来,避免某种原因,人为的原因,操作几次之间时间长,缓存不一致
byte[] buf = new byte[n];//声明一个临时数组存储当前来的串口数据
received_count += n;//增加接收计数
comm.Read(buf, 0, n);//读取缓冲数据
builder.Clear();//清除字符串构造器的内容

foreach (byte b in buf)
{
builder.Append(b.ToString("X2") + " ");
}

display();
}
public void display()
{
this.txGet.Text = builder.ToString();
//修改接收计数
labelGetCount.Text = "Get:" + received_count.ToString();
UpdatePanel1.Update();
}


断点调试发现接收到的数据没有问题,怎么把接收到的builder中的内容直接显示到txGet上呢?
...全文
55 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
课文 2014-04-15
  • 打赏
  • 举报
回复
引用 1 楼 wzs_xyz 的回复:
建议先了解了解web的运作机制,请求-响应,服务端是被动应答的,是不能主动更新客户端的(html5的websocket可以服务端主动发起通讯,不过协议已不再是web的http/https了,且不兼容),所以不要被asp.net的服务端控件迷惑了,那是假象 你这个功能,如果实时性要求不高,可用js定时进行ajax轮询, 若实时性要求高:可用: 1.ajax长连接,该方法兼容浏览器 2.服务端发送事件sse,该方法不兼容ie 3.websocket,不很清楚,自行百度
谢谢,我是新手,可否给一个使用AJAX长连接的例子?
未知数 2014-04-14
  • 打赏
  • 举报
回复
建议先了解了解web的运作机制,请求-响应,服务端是被动应答的,是不能主动更新客户端的(html5的websocket可以服务端主动发起通讯,不过协议已不再是web的http/https了,且不兼容),所以不要被asp.net的服务端控件迷惑了,那是假象 你这个功能,如果实时性要求不高,可用js定时进行ajax轮询, 若实时性要求高:可用: 1.ajax长连接,该方法兼容浏览器 2.服务端发送事件sse,该方法不兼容ie 3.websocket,不很清楚,自行百度

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧