ÀýÊÇËüµÄ×ÓÀà¸ø³öµÄ¡£½Ó¿ÚµÄʵÀýÊÇʵÏÖ½Ó¿ÚµÄÀà¸ø³öµÄ¡£ÔÙ³éÏóÀàÖмÓÈëÒ»¸ö·½·¨£¬ÄÇôËüµÄ×ÓÀà¾ÍͬʱÓÐÁËÕâ¸ö·½·¨¡£¶øÔÚ½Ó¿ÚÖмÓÈëеķ½·¨£¬ÄÇôʵÏÖËüµÄÀà¾ÍÒªÖØбàд£¨Õâ¾ÍÊÇΪʲô˵½Ó¿ÚÊÇÒ»¸öÀàµÄ¹æ·¶ÁË£©¡£½Ó¿Ú³ÉÔ±±»¶¨ÒåΪ¹«¹²µÄ£¬µ«³éÏóÀàµÄ³ÉÔ±Ò²¿ÉÒÔÊÇ˽Óеġ¢Êܱ£»¤µÄ¡¢ÄÚ²¿µÄ»òÊܱ£»¤µÄÄÚ²¿³ÉÔ±£¨ÆäÖÐÊܱ£»¤µÄÄÚ²¿³ÉÔ±Ö»ÄÜÔÚÓ¦ÓóÌÐòµÄ´úÂë»òÅÉÉúÀàÖзÃÎÊ£©¡£´ËÍâ½Ó¿Ú²»ÄÜ°üº¬×ֶΡ¢¹¹Ô캯Êý¡¢Îö¹¹º¯Êý¡¢¾²Ì¬³ÉÔ±»ò³£Á¿¡£ Q13£º×Ô¶¨Òå¿Ø¼þºÍÒ»°ãÓû§¿Ø¼þµÄÒìͬ£¿Èç¹ûÒªÓÃÕâÁ½ÕßÖ®Ò»£¬Äã»áÑ¡ÔñÄÄÖÖ£¿ÎªÊ²Ã´ ´ð£ºÓû§¿Ø¼þ(UserControl): À©Õ¹ÃûΪ*.ascx,¸ú*.aspxÔڽṹÉÏÏàËÆ£¬ÊÇÖ¸Ò³ÃæÖÐ ¼ÓÔصŦÄÜ¿é,Ö»ÊÇÓû§¿Ø¼þ²»Äܵ¥¶À×÷ΪҳÃæÔËÐÐ,±ØÐëǶÈëµ½*.aspxÒ³Ãæ»òÆäËüÓà »§¿Ø¼þÖÐʹÓà ¡£ ×Ô¶¨Òå¿Ø¼þ£¬¸úHtmlControl»òWebControlÏàËÆ£¬±àÒëºó¿ÉÒÔÌí¼ÓÒýÓõ½¹¤¾ßÀ¸Àï Ã棬ֱ½ÓÓÃÊó±êÍ϶¯Ê¹Óᣠ¿´Çé¿öʹÓã¬Èç¹û¹¦ÄܱȽ϶࣬»áÓÃ×Ô¶¨Òå¿Ø¼þ¡£ Q14£º´ó¸ÅÃèÊöÒ»ÏÂASP¡£NET·þÎñÆ÷¿Ø¼þµÄÉúÃüÖÜÆÚ ´ð£º£¨1£©³õʼ»¯¡ª-Ôڴ˽׶ÎÖУ¬Ö÷ÒªÍê³ÉÁ½Ï×÷£ºÒ»¡¢³õʼ»¯ÔÚ´«ÈëWebÇëÇóÉúÃüÖÜÆÚÄÚËùÐèµÄÉèÖ㻶þ¡¢¸ú×ÙÊÓͼ״̬¡£Ê×ÏÈ£¬Ò³Ãæ¿ò¼Üͨ¹ýĬÈÏ·½Ê½Òý·¢Initʼþ£¬²¢µ÷ÓÃOnInit()·½·¨£¬¿Ø¼þ¿ª·¢ÈËÔ±¿ÉÒÔÖØд¸Ã·½·¨Îª¿Ø¼þÌṩ³õʼ»¯Âß¼¡£´Ëºó£¬Ò³Ãæ¿ò¼Ü½«µ÷ÓÃTrackViewState·½·¨À´¸ú×ÙÊÓͼ״̬¡£ÐèҪעÒâµÄÊÇ£º¶àÊýÇé¿öÏ£¬Control»ùÀàÌṩµÄTrackViewState·½·¨ÊµÏÖÒѾ×ã¹»ÁË¡£Ö»ÓÐÔڿؼþ¶¨ÒåÁ˸´ÔÓÊôÐÔʱ£¬¿ª·¢ÈËÔ±²Å¿ÉÄÜÐèÒªÖØдTrackViewState·½·¨¡£ ¡¡¡¡£¨2£©¼ÓÔØÊÓͼ״̬¡ª-´Ë½×¶ÎµÄÖ÷ÒªÈÎÎñÊǼì²é·þÎñÆ÷¿Ø¼þÊÇ·ñ´æÔÚÒÔ¼°ÊÇ·ñÐèÒª½«Æä״̬»Ö¸´µ½ËüÔÚ´¦Àí֮ǰµÄÇëÇó½áÊøµÄ״̬¡£Òò´Ë¸Ã¹ý³Ì·¢ÉúÔÚÒ³Ãæ»Ø´«¹ý³ÌÖУ¬¶ø²»Êdzõʼ»¯ÇëÇó¹ý³Ì¡£Ôڴ˽׶Σ¬Ò³Ãæ¿ò¼Ü½«×Ô¶¯»Ö¸´ViewState×ֵ䡣Èç¹û·þÎñÆ÷¿Ø¼þ²»Î¬³ÖÆä״̬£¬»òÕßËüÓÐÄÜÁ¦Í¨¹ýĬÈÏ·½Ê½±£´æÆäËùÓÐ״̬¶øʹÓÃViewState×ֵ䣬ÄÇô¿ª·¢ÈËÔ±Ôò²»±ØʵÏÖÈκÎÂß¼¡£Õë¶ÔÄÇЩÎÞ·¨ÔÚViewState×ÖµäÖд洢µÄÊý¾ÝÀàÐÍ»òÕßÐèÒª×Ô¶¨Òå״̬¹ÜÀíµÄÇé¿ö£¬¿ª·¢ÈËÔ±¿ÉÒÔͨ¹ýÖØдLoadViewState·½·¨À´×Ô¶¨Òå״̬µÄ»Ö¸´ºÍ¹ÜÀí¡£ £¨3£©´¦Àí»Ø·¢Êý¾Ý¡ª-ÈôҪʹ¿Ø¼þÄܹ»¼ì²é¿Í»§¶Ë·¢»ØµÄ´°ÌåÊý¾Ý£¬ÄÇô±ØÐëʵÏÖSystem.Web.UI.IPostBackDataHandler½Ó¿ÚµÄ¡¡LoadPostData()·½·¨¡£Òò´ËÖ»Óд¦Àí»Ø·¢Êý¾ÝµÄ¿Ø¼þ²ÎÓë´Ë½×¶Î¡£ £¨4£©¼ÓÔØ¡ª-ÖÁ´Ë½×¶Î¿ªÊ¼£¬¿Ø¼þÊ÷ÖеķþÎñÆ÷¿Ø¼þÒÑ´´½¨²¢³õʼ»¯¡¢×´Ì¬ÒÑ»¹Ô²¢ÇÒ´°Ìå¿Ø¼þ·´Ó³ÁË¿Í»§¶ËµÄÊý¾Ý¡£´Ëʱ£¬¿ª·¢ÈËÔ±¿ÉÒÔͨ¹ýÖØдOnLoad()·½·¨À´ÊµÏÖÿ¸öÇëÇó¹²Í¬µÄÂß¼¡£ £¨5£©·¢Ëͻط¢¸ü¸Ä֪ͨ¡ª-Ôڴ˽׶Σ¬·þÎñÆ÷¿Ø¼þͨ¹ýÒý·¢Ê¼þ×÷ΪһÖÖÐźţ¬±íÃ÷ÓÉÓڻط¢¶ø·¢ÉúµÄ¿Ø¼þ״̬±ä»¯£¨Òò´Ë¸Ã½×¶Î½öÓÃÓڻط¢¹ý³Ì£©¡£ÎªÁ˽¨Á¢ÕâÖÖÐźţ¬¿ª·¢ÈËÔ±±ØÐëÔÙ´ÎʹÓÃSystem.Web.UI.IPostBackDataHandler½Ó¿Ú£¬²¢ÊµÏÖÁíÒ»·½·¨-RaisePostBackChangedEvent()¡£ÆäÅжϹý³ÌΪ£ºÈç¹û¿Ø¼þ״̬Òò»Ø·¢¶ø¸ü¸Ä£¬ÔòLoadPostData()·µ»Øtrue£»·ñÔò·µ»Øfalse¡£Ò³Ãæ¿ò¼Ü¸ú×ÙËùÓзµ»ØtrueµÄ¿Ø¼þ²¢ÔÚÕâЩ¿Ø¼þÉϵ÷ÓÃRaisePostDataChangedEvent()¡£ £¨6£©´¦Àí»Ø·¢Ê¼þ¡ª-¸Ã½×¶Î´¦ÀíÒýÆð»Ø·¢µÄ¿Í»§¶Ëʼþ¡£ÎªÁ˱ãÓÚ½«¿Í»§¶ËʼþÓ³Éäµ½·þÎñÆ÷¶ËʼþÉϽøÐд¦Àí£¬¿ª·¢ÈËÔ±Ôڴ˽׶οÉÒÔͨ¹ýʵÏÖSystem.Web.UI.IPostBackEventHandler½Ó¿ÚµÄRaisePostBackEvent()·½·¨À´ÊµÏÖ¸ÃÂß¼¡£ÓÉ´Ë;¾¶£¬·þÎñÆ÷¿Ø¼þ½«³É¹¦²¶»ñ»Ø·¢µÄ¿Í»§¶Ëʼþ½øÐзþÎñÆ÷¶ËµÄÏàÓ¦´¦Àí¡£ £¨7£©Ô¤³ÊÏÖ¡ª-¸Ã½×¶ÎÍê³ÉÔÚÉú³É¿Ø¼þ֮ǰËùÐèÒªµÄÈκι¤×÷¡£Í¨³£Çé¿öÏÂÊÇͨ¹ýÖØдOnPreRender()·½·¨Íê³É¸Ã¹¤×÷¡£ÐèҪעÒâµÄÊÇ£ºÔڸý׶Σ¬¿ÉÒÔ±£´æÔÚÔ¤³ÊÏֽ׶ζԿؼþ״̬Ëù×öµÄ¸ü¸Ä£¬¶øÔÚ³ÊÏֽ׶νøÐеĸü¸ÄÔò»á¶ªÊ§¡£ £¨8£©±£´æ״̬¡ª-Èç¹û·þÎñÆ÷¿Ø¼þ²»Î¬³Ö״̬£¬»òÕßËüÓÐÄÜÁ¦Í¨¹ýĬÈÏ·½Ê½±£´æÆäËùÓÐ״̬¶øʹÓÃViewState×ֵ䣬ÄÇô¿ª·¢ÈËÔ±²»±ØÔڸý׶ÎʵÏÖÈκÎÂß¼¡£ÒòΪÕâ¸ö±£´æ״̬µÄ¹ý³ÌÊÇ×Ô¶¯µÄ¡£Èç¹û·þÎñÆ÷¿Ø¼þÐèÒª×Ô¶¨Òå״̬±£´æ£¬»òÕ߿ؼþÎÞ·¨ÔÚViewState×ÖµäÖд洢ÌØÊâµÄÊý¾ÝÀàÐÍ£¬ÔòÐèҪͨ¹ýÖØдSaveViewState()·½·¨À´ÊµÏÖ״̬±£´æ¡£ £¨9£©³ÊÏÖ¡ª-±íʾÏòHTTPÊä³öÁ÷ÖÐдÈë±ê¼ÇÎı¾µÄ¹ý³Ì¡£¿ª·¢ÈËԱͨ¹ýÖØдRender()·½·¨Ê¹ÆäÔÚÊä³öÁ÷ÉÏ×Ô¶¨Òå±ê¼ÇÎı¾¡£ £¨10£©´¦Öáª-Ôڴ˽׶ÎÖУ¬Í¨¹ýÖØдDispose ()·½·¨Íê³ÉÊͷŶ԰º¹ó×ÊÔ´µÄÒýÓã¬ÈçÊý¾Ý¿âÁ´½ÓµÈ¡£ £¨11£©Ð¶ÔØ¡ª-Íê³ÉµÄ¹¤×÷Ó롱´¦Öᱽ׶ÎÏàͬ£¬µ«ÊÇ£¬¿ª·¢ÈËԱͨ³£ÔÚDispose()·½·¨ÖÐÖ´ÐÐÇå³ý£¬¶ø²»´¦ÀíUnloadʼþ¡£
Q15£ºUML ´ð£ºÍ³Ò»½¨Ä£ÓïÑÔ¡£ Q16£ºÃæÏò¶ÔÏóµÄ¸ÅÄÖ÷ÒªÌص㠴𣺷â×°£¬¼Ì³Ð£¬¶à̬ Q17£ºÀà»®·ÖµÄÒÀ¾Ý¡£ÀàÁ£¶ÈÎÊÌâ Q18£ºÊÂÎï¹ÜÀíÎÊÌâ
|