ASP.Net页面加载更新更新面板

时间:2013-01-15 10:26:21

标签: c# javascript ajax asp.net-mvc

我是AJAX的新手,想知道我是否正在以正确的方式接近事情。

我正在构建的页面实际上只是一个进度页面。即一个进程从页面加载调用,我向页面添加一条消息来显示结果,然后另一个进程运行,我为该进程的结果添加一条新消息等,最多10个进程可以顺序运行,并且有没有用户互动。我不希望每次更新消息后屏幕都闪烁,所以我想到了Ajax

我实现这一目标的方式似乎很奇怪......

  • 设置UpdatePanel并带有隐藏按钮
  • 在Code Behind Page Load上创建ClientScriptManager以调用Javascript函数(第1次)
  • '点击'Javascript函数中的按钮
  • Button_Click方法
  • 中对C#代码进行第一个处理
  • 使用c#中的ClientScriptManager {J}再次点击该按钮
  • Invoke方法
  • 中对C#代码执行下一个处理

我宁愿只是在C#页面加载时启动进程并更新Button_Click而不会闪烁。!

* * *这是我的最新代码,使用您的建议与Sleep Thread模拟将要发生的过程,但它不是实时更新....即重新计算报价和存储两条指令完成后都会显示数据。

UpdatePanel

1 个答案:

答案 0 :(得分:0)

  1. 将更新面板放到页面上&将其更新模式设置为 条件
  2. 在更新面板中,为处理消息放置标签/文字控件
  3. 在pageLoad内部执行每个进程&显示状态消息,然后从代码隐藏更新您的updatePanel,如

  4. 删除UpdateProgress以在处理时显示进度图像

     if (Process1())
      lblStatus.Text = " Process 1 completed.;
     UpdatePanel1.Update();
    
     // Do this for Process 2
    
     // Do this for Process 3 etc.
    
  5. 我遇到的唯一问题是,如果流程2在流程1和流程上有所不同,那该怎么办?它失败 ?您必须自己管理回滚。再一次,这只是原始的,但你明白了。