none
请问如何知道 System.Web.UI.Page 什么时候被加载 RRS feed

  • 问题

  • 我写可一个 Page,然后在 Page_Load 函数中添加不少操作。因此我不希望 Page_Load 被频繁调用。但事与愿违,Page_Load 经常被执行。
    因此我希望知道是什么导致了 Page_Load 被执行,例如是用户刷新,或者是某个 Page 跳转,或者 JavaScript 调用等。

    若哪位有这方面的经验,或者知道有什么工具可以达到这个目的的,还请指点一下,万分感谢。

    PS: 我是一个刚接触 ASP.Net 的大菜鸟.......

    2010年2月24日 8:57

答案

  • page_load就是页面加载时所发生的事件

    每次页面刷新时都会发生

    Page_Load中,在if(!IsPostBack){...}中的代码就第一次访问页面时才执行
    努力+方法=成功
    • 已标记为答案 IGabriel 2010年2月26日 3:39
    2010年2月24日 9:09
  • 你这个Page_load的页是单独的一个Page还是嵌套在某些Iframe里的?
    据我所知。这如果是个普通页(并不是模板页或是个控件)能调起Page_load时间的只有刷新页面以及服务器端控件的触发
    • 已标记为答案 IGabriel 2010年2月26日 3:39
    2010年2月24日 9:41
  • 没有这方面的工具。

    你要想知道是否这个page load方法是否执行了,怎么执行的你可以自己设计一测试的案例。

    比如你发现该方法不该被执行的时候执行了。

    那你就想想在这个过程中经过了那些过程,然后设置断点跟踪就行了。

    一般page load方法只有在page加载时才会执行,所以如果没有对该页面的请求是不会执行的。

    Microsoft Online Community Support
    • 已标记为答案 IGabriel 2010年2月26日 3:40
    2010年2月26日 2:26

全部回复

  • page_load就是页面加载时所发生的事件

    每次页面刷新时都会发生

    Page_Load中,在if(!IsPostBack){...}中的代码就第一次访问页面时才执行
    努力+方法=成功
    • 已标记为答案 IGabriel 2010年2月26日 3:39
    2010年2月24日 9:09
  •            我的代码:

                if (!Page.IsPostBack)
                {
                    ......
                    Do somethings...
                    .....
                }


                所以非常奇怪,想知道是什么回事

    2010年2月24日 9:17
  • 你在PageLode里写方法。
    本意难道不就希望 页面在访问或者刷新的时候这些方法被调用吗?

    如果你说的是 点击一个服务器端按钮,而不触发Page_Load事件的话。
    可以把方法写在if(!ispostback){}来加以限制

    通俗点说,点击按钮导致的Page_load事件是一个PostBack.回传
    2010年2月24日 9:18
  • 你在PageLode里写方法。
    本意难道不就希望 页面在访问或者刷新的时候这些方法被调用吗?

    如果你说的是 点击一个服务器端按钮,而不触发Page_Load事件的话。
    可以把方法写在if(!ispostback){}来加以限制

    通俗点说,点击按钮导致的Page_load事件是一个PostBack.回传

    因为我的 Page 是一个较大的系统的一小部分。 在测试的时候发觉,有些时候我并不希望 Page_Load 被执行,或者说不希望 Page 被加载,但是输出的日志却表明它加载了。那可能是系统的其他部分调用了。

    同时,有的时候我希望它加载了,却不见它有动静
    因此我希望知道究竟是哪里加载它的,才能去修改。

    呃,不知道我表述得是否清楚。
    2010年2月24日 9:33
  • 你这个Page_load的页是单独的一个Page还是嵌套在某些Iframe里的?
    据我所知。这如果是个普通页(并不是模板页或是个控件)能调起Page_load时间的只有刷新页面以及服务器端控件的触发
    • 已标记为答案 IGabriel 2010年2月26日 3:39
    2010年2月24日 9:41
  • 你这个Page_load的页是单独的一个Page还是嵌套在某些Iframe里的?
    据我所知。这如果是个普通页(并不是模板页或是个控件)能调起Page_load时间的只有刷新页面以及服务器端控件的触发

    都有可能,不知道是否被其他人用在什么地方了。

    因此我想找找有没有这方面的工具,或者有什么方法可以知道。
    2010年2月24日 10:00
  • 没有这方面的工具。

    你要想知道是否这个page load方法是否执行了,怎么执行的你可以自己设计一测试的案例。

    比如你发现该方法不该被执行的时候执行了。

    那你就想想在这个过程中经过了那些过程,然后设置断点跟踪就行了。

    一般page load方法只有在page加载时才会执行,所以如果没有对该页面的请求是不会执行的。

    Microsoft Online Community Support
    • 已标记为答案 IGabriel 2010年2月26日 3:40
    2010年2月26日 2:26