在.NET中检查PostBack

时间:2009-03-30 23:47:25

标签: c# asp.net ado.net

这次我带着一个与.NET有关的问题来找你。我遇到了挑战,找出了回发所涉及的四个步骤。

确切的挑战是:

“每次回发时都会执行四种方法。请描述并识别每种方法。”

据我所知(这对.NET类来说是一个挑战),回发就是当您提交一个Web表单后跟后退按钮时发生的事情。

我们获得的唯一线索是:

“第一次请求页面时,是回发吗? 否“。

这就是我的全部。任何人有任何想法或资源?

提前致谢!

4 个答案:

答案 0 :(得分:9)

答案 1 :(得分:5)

这些是我在某些时候反思来源的笔记:

  1. LoadScrollPosition
  2. PerformPreInit
    • Fire PreInit Event
    • 初始化主题
    • ApplyMasterPage
  3. InitRecursive
    • 递归:
      • 为控件生成命名容器ID
      • 设置control.page属性
      • init controls
    • 设置Page.Form属性
    • 涂抹肌肤
    • Fire Init Event
  4. OnInitComplete
    • Fire InitComplete事件
  5. (如果回发)LoadAllState
    • 已注册控件的加载控制状态
    • 加载视图状态
  6. (如果回发)ProcessPostData
    • 为实现IPostBackDataHandler的控件加载PostData
  7. OnPreLoad
    • Fire PreLoad Event
  8. LoadRecursive
    • 火灾加载事件
    • 递归:
      • 加载控件
  9. (如果回发)ProcessPostData
    • 为实现IPostBackDataHandler
    • 的控件加载剩余的PostData
  10. (如果回发)RaiseChangedEvents
    • 为实现IPostBackDataHandler的控件提升已更改的事件
  11. (如果回发)RaisePostBackEvent
    • 为实施IPostBackEventHandler的控件提升回发事件
    • 验证
  12. 的onLoadComplete
    • Fire LoadComplete事件
  13. 的PreRender
  14. 即时存档
  15. 渲染
  16. 这使得LoadAllState,ProcessPostData,RaiseChangedEvents和RaisePostBackEvent只能在PostBack上完成。

答案 2 :(得分:2)

以下文章article也可能具有一定的价值。

答案 3 :(得分:0)

关于后退按钮部分你错了 - 来自Wikipedia

  

回发是一个动作   交互式网页,当整个   页面及其内容被发送到   服务器用于处理一些信息   然后,服务器发布相同的内容   页面返回浏览器。

     

这样做是为了验证密码   登录,处理在线订单   表格或其他此类任务   客户端计算机无法独立完成。   这是不要混淆的   刷新或回退所采取的行动   浏览器上的按钮。

我通常将此视为链接,其中包含do_postback之类的字符串(看似)随机数字。