none
aspx页面中下面代码什么时候会自动生成?! RRS feed

  • 问题

  • <script language="javascript">
    <!-- 
      
    function __doPostBack(eventTarget, eventArgument) { 
         
    var theform; 
         
    if (window.navigator.appName.toLowerCase().indexOf("netscape"> -1) { 
             theform 
    = document.forms["Form1"]; 
         } 
         
    else { 
            theform 
    = document.Form1; 
           } 
           theform.__EVENTTARGET.value 
    = eventTarget.split("$").join(":"); 
           theform.__EVENTARGUMENT.value 
    = eventArgument; 
           theform.submit(); 
       }
    // -->
    </script>什么情况下aspx页面又不会自动生成?

    同一个aspx页面,怎么有时候查看源代码有这段代码,有时候查看又没有。


    每个人都有追求自己幸福的权利。 使我痛苦的人必使我强大。 努力就会有结果,但不一定回事好结果。
    2010年12月10日 5:25

答案

全部回复

  • 这个是服务器控件有Postback事件时产生的 , 没有Postback事件就不会产生了
    2010年12月10日 9:46
    版主
  • 是  有点道理,可是只要你放个linkButton,这段代码还是会自动产生的。linkButton并没有AutoPostBack属性。有人说是Render出来的页面就会自动生成这段代码。我不明白Render是什么意思,是不是页面周期内的一个函数?测试觉得说Render出来的页面似乎说的过去!


    每个人都有追求自己幸福的权利。 使我痛苦的人必使我强大。 努力就会有结果,但不一定会是好结果。
    2010年12月11日 5:23
  • 你好:

    按我的理解就是将服务器控件转换成客户端可执行的静态标签的过程。

    http://msdn.microsoft.com/en-us/library/aa338806(v=vs.71).aspx

    __doPostBack是用于需要触发服务器事件的javascript方法。如果某一个服务器控件不需要服务器事件响应就不会生成。

    希望对你有所帮助。

    http://msdn.microsoft.com/zh-cn/library/ms529034(v=VS.85).aspx


    I am here!
    • 已标记为答案 大辉狼 2010年12月13日 5:12
    • 取消答案标记 大辉狼 2010年12月13日 5:12
    • 已标记为答案 大辉狼 2010年12月13日 5:12
    2010年12月13日 3:37
    版主
  • 您好:

    版主的回答,以及资料,我差不多想明白了这个道理,不过自己还是要再看看asp.net的底层原理,这样似乎才会更清楚些。不过觉得写Jsp的时候思路就清晰好多啊!不会出现一些莫名脚本的错误。


    每个人都有追求自己幸福的权利。 使我痛苦的人必使我强大。 努力就会有结果,但不一定会是好结果。
    2010年12月13日 5:12
  • 很对。保持如此良好的学习劲头才能真正学习好.net。加油!


    I am here!
    2010年12月13日 5:22
    版主