【发布时间】:2013-01-15 10:26:21
【问题描述】:
我是 AJAX 新手,想知道我是否以正确的方式处理事情。
我正在构建的页面实际上只是一个进度页面。即从页面加载调用一个进程,我向页面添加一条消息以显示结果,然后另一个进程运行,我为该进程的结果添加一条新消息等,最多 10 个进程可以按顺序运行并且有没有用户交互。我不想在每次更新消息后屏幕闪烁,所以我想到了 Ajax
我实现这一目标的方式似乎很奇怪.....
- 设置
UpdatePanel,其中包含一个隐藏按钮 - 在页面加载背后的代码上创建
ClientScriptManager以调用 Javascript 函数(第一次) - “单击”Javascript 函数中的按钮
- 在
Button_Click方法后面的 C# 代码上执行第一个进程 - 使用c#中的
ClientScriptManager到Javascript中的Invoke再次点击按钮 - 在
Button_Click方法后面的 C# 代码上执行下一个处理
我宁愿在 C# 页面加载时启动进程并更新 UpdatePanel 而不会闪烁。!
***这是我的最新代码,使用您的建议与睡眠线程模拟将要发生的进程,但它不是实时更新......即重新计算报价和存储两个指令都完成后出现数据。
Literal literal1 = new Literal();
literal1.Text = "Recalculating Quotation <br/>";
literal1.ID = "Message1";
updpnlSubmit.ContentTemplateContainer.Controls.Add(literal1);
updpnlSubmit.Update();
Thread.Sleep(10000);
Literal literal2 = new Literal();
literal2.Text = "Storing Data<br/>";
literal2.ID = "Message2";
updpnlSubmit.ContentTemplateContainer.Controls.Add(literal2);
updpnlSubmit.Update();
【问题讨论】:
-
那么,你的问题是什么?
-
Damien,我是否明白这一点......我的意思是它有效,但它会引起人们的注意吗?
标签: c# javascript ajax asp.net-mvc