asp.net订阅事件

entironment 2009-12-15 11:23:48
在default.aspx的后台代码中订阅一个事件,在事件处理程序中将页面上label内容修改为事件返回的一些信息。
如何实现,请教高手
...全文
219 23 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
chichaodechao 2009-12-15
  • 打赏
  • 举报
回复
帮顶!
entironment 2009-12-15
  • 打赏
  • 举报
回复
顶一下,有人吗
entironment 2009-12-15
  • 打赏
  • 举报
回复
贴码

//event class
public delegate void MessageDelegate(string tt);
public class TimeGo
{
public event MessageDelegate MessageEvent;
private Timer time;
public TimeGo()
{
time = new Timer(10000);
time.Elapsed += new ElapsedEventHandler(GetNow);
}
public void GetNow(object source, ElapsedEventArgs e)
{
MessageEvent(DateTime.Now.ToString());
}

public void Connect()
{
time.Start();
}
public void Disconnect()
{
time.Stop();
}
}

//subscribe
protected void Page_Load(object sender, EventArgs e)
{
TimeTest tt = new TimeTest();
tt.MessageEvent += new MessageDelegate(DisplayLabel1);
tt.Connect();
}

public void DisplayLabel1(string divContent)
{
this.Label1.Text = divContent;
}

entironment 2009-12-15
  • 打赏
  • 举报
回复

事件是一个时钟,每隔一秒触发一次事件。
事件处理程序中,将这个时间返回页面。

现在时间返回了,但是不能再页面显示
chen_ya_ping 2009-12-15
  • 打赏
  • 举报
回复
[Quote=引用楼主 entironment 的回复:]
在default.aspx的后台代码中订阅一个事件,在事件处理程序中将页面上label内容修改为事件返回的一些信息。
如何实现,请教高手

[/Quote]
事件的返回时一般是VOID,你可以在事件里面修改label的值。
Lovely_baby 2009-12-15
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 entironment 的回复:]
this.label.text = 事件里的一些东东;
调试时,label.text都得到值了,但是为什么页面不显示啊?
[/Quote]
设置了隐藏 或者 是css控制了??
Lovely_baby 2009-12-15
  • 打赏
  • 举报
回复
我姓区不姓区 2009-12-15
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 entironment 的回复:]
this.label.text = 事件里的一些东东;
调试时,label.text都得到值了,但是为什么页面不显示啊?
[/Quote]
加断点调试过了吗?
我姓区不姓区 2009-12-15
  • 打赏
  • 举报
回复
那你是哪里不明白呢?
entironment 2009-12-15
  • 打赏
  • 举报
回复
this.label.text = 事件里的一些东东;
调试时,label.text都得到值了,但是为什么页面不显示啊?
RHCL 2009-12-15
  • 打赏
  • 举报
回复
迷糊,文绉绉的,是不是想捕获某个指定事件类型(全局)然后显示到指定lable?
entironment 2009-12-15
  • 打赏
  • 举报
回复
是我自己定义的
我姓区不姓区 2009-12-15
  • 打赏
  • 举报
回复
这个事件是你自己定义的吗?
entironment 2009-12-15
  • 打赏
  • 举报
回复
我要实现的功能类似这样的
假如有一个用户,现在是登陆状态的,我在服务端的一个C/S程序里将他的状态改变为离线状态。在这个改变过程中触发一个时间,而在客户端浏览器上订阅这个事件并将这个用户改变后的状态显示在页面上。
现在事件触发了。改变后的状态也拿到了,但是怎么在页面上显示不出来。
entironment 2009-12-15
  • 打赏
  • 举报
回复
楼上能留个qq或者mSN。咱们交流一下。
夺命胖子 2009-12-15
  • 打赏
  • 举报
回复
AJAX,用JS的 setinterval 定时向服务器提交,
服务器响应后,执行代码,然后获得返回结果

如果想写成异步提交的控件
http://download.csdn.net/source/1845468

上面一个链接是个小例子,异步验证的,把前台JS 向服务器提交事件的步骤,改成setInterval定时提交,

然后修改一下就差不多了
entironment 2009-12-15
  • 打赏
  • 举报
回复
有道理。
但是我如何实现这样的功能。用js写到div里也不行啊。
夺命胖子 2009-12-15
  • 打赏
  • 举报
回复
客户端不发请求,服务器端是不能改变label的值的,

客户端向服务器发了请求,服务器响应后,修改label的值,回发给客户端浏览器,浏览器上的label才会修改

夺命胖子 2009-12-15
  • 打赏
  • 举报
回复
HTTP 协议是什么?

请求太答式的,你在后台触发事件,前台又没有请求,它如何更新到浏览器客户端,,你当是C/S程序
entironment 2009-12-15
  • 打赏
  • 举报
回复
再顶
加载更多回复(3)

62,243

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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