代码是这样的
public delegate void RtnDelegate(string com, int address, int cid, int rtn, int len, string data);
private void Rtn_DataRecived(string com, int address, int cid, int rtn, int len, string data)
{
this.BeginInvoke(new RtnDelegate(ShowDataRecived), com, address, cid, rtn, len, data);
}
private void ShowDataRecived(string com, int address, int cid, int rtn, int len, string data)
{
txtShow.Text = data;
}
Control.BeginInvoke在Winform中这样调用
this.BeginInvoke(new RtnDelegate(ShowDataRecived), com, address, cid, rtn, len, data);
但是换成Web中,怎么调用BeginInvoke
我想到一个办法
RtnDelegate rd = ShowDataRecived;
rd.BeginInvoke(com, address, cid, rtn, len, data, null, null);
但是如果这样写的话就txtShow.Text就显示不出任何值。
我断点调试,txtShow.Text明明有值,不晓得是什么原因
因为你的 rd.BeginInvoke 是在服务端执行的,而你的txtShow是客户端页面的元素。