专题栏目
  • 婵犵數濮烽弫鍛婃叏閻戣棄鏋侀柛娑橈攻閸欏繘鏌i幋锝嗩棄闁哄绶氶弻娑樷槈濮楀牊鏁鹃梺鍛婄懃缁绘﹢寮婚敐澶婄闁挎繂妫Λ鍕⒑閸濆嫷鍎庣紒鑸靛哺瀵鎮㈤崗灏栨嫽闁诲酣娼ф竟濠偽i鍓х<闁绘劦鍓欓崝銈嗐亜椤撶姴鍘寸€殿喖顭烽弫鎰緞婵犲嫮鏉告俊鐐€栫敮濠囨倿閿曞倸纾块柟鍓х帛閳锋垿鏌熼懖鈺佷粶濠碘€炽偢閺屾稒绻濋崒娑樹淮濡ょ姷鍋涢崯浼村箟閹绢喖绀嬫い鎺嗗亾妞ゎ偓绻濆娲偡閺夋寧些闂佹椿鍘奸悧鎾崇暦濠靛宸濇い鎾寸⊕閺傗偓闂備胶绮崝鏍亹閸愵喖绠栭柟杈鹃檮閻撶喐淇婇妶鍕厡闁活厼鏈穱濠囧矗婢跺﹤顫掑Δ鐘靛仦宀e潡鍩€椤掍胶鈯曢柨姘亜鎼淬垺宕屾慨濠冩そ瀹曟鎳栭埞鍨沪闂備礁鎲¢幐鑽ゆ崲閸繄鏆︾憸鐗堝笒閸ㄥ倹銇勯弮鍌氫壕婵炲牓绠栧娲箰鎼达絿鐣甸梺缁橆殔缁绘﹢骞冮崸妤€鐒垫い鎺嗗亾闁宠鍨块幃娆撳级閹寸姳妗撻梻浣藉吹閸熸瑩宕惰閸嬪秹姊绘笟鍥у缂佸鏁婚崺娑㈠箣閿旂晫鍘遍梺鎸庢椤曆囩嵁閺嶎灐鐟扳堪閸涱厺澹曢梺闈涙搐鐎氱増淇婇幖浣肝ㄩ柨鏇楀亾婵炲憞鍥ㄢ拺闂侇偆鍋涢懟顖涙櫠椤栫偞鐓曢柟瀛樼箘缁夎櫣鈧娲樼划宀勶綖濠靛牊宕夐柧蹇撴贡閺嗕即姊绘担鍛婃儓闁哥喓濞€瀹曟垿骞橀崜浣猴紲缂傚倷鐒﹀玻璺ㄧ不閻愮鍋撶憴鍕闁绘牕鍚嬫穱濠傤潰瀹€濠冃╂俊銈囧Х閸嬫稓绮旈悷閭︽綎缂備焦蓱婵挳鏌涘☉銏℃锭婵犫偓闁秴绠查柕蹇曞閺冨牆宸濇い鎾跺缁遍亶姊绘担鍛婅础濠⒀勵殔椤灝螣閻╂崿鍥х煑濠㈣泛顑呭鍨攽閿涘嫬浠╂い鏇嗗嫮顩插Δ锝呭暞閳锋垿鏌涘┑鍡楊仾婵犫偓娴煎瓨鐓熼柍鍝勶工閻忕姵銇勯弴顏嗙М妞ゃ垺顨婂畷鐔碱敃閿旇姤娈斿┑鐘茬棄閺夊簱鍋撻弴鈥愁杺闂備胶枪椤戝棝骞愬宀€浜欓梻浣告啞娓氭宕板璺哄偍濞寸姴顑嗛埛鎴︽煙缁嬫寧鎹g紒鐘虫崌閺岀喖鎼归銏狀潔缂備礁鍊圭敮鎺楀煡婢跺⿴娼╅弶鍫氭櫔缁卞弶绻濆閿嬫緲閳ь剚娲熷畷顖烆敃閿曗偓閸戠姵绻涢幋娆忕仾闁绘挻娲熼弻宥囨喆閸曨偄濮㈡繛瀛樼矌閸嬫挻绌辨繝鍥ㄥ€锋い蹇撳閸嬫捇寮介锝嗘闂佸湱鍎ら弻锟犲磻閹炬剚娼╅柣鎾抽椤偆绱撴笟鍥ф灈妞ゎ厼鍢查锝嗙鐎n€晠鏌曢崼婵囧窛闁伙綁绠栧缁樼瑹閳ь剙岣胯閹囧幢濞戞ḿ鐤囬棅顐㈡处缁嬫垿姊婚婊勫枑闁绘鐗嗙粭姘舵煟閹惧鎳呴柣銉邯椤㈡﹢鎮欓弶鎴烆仩闂備胶绮幐濠氬礉濞嗘挸钃熼柡鍥ュ灩閻愬﹦鎲稿澶樻晜妞ゆ挾鍣ュ▓浠嬫煟閹邦喗顬嬬紓鍌涘哺閺岀喖鎮烽弶娆句純閻庤娲﹂崑濠傜暦閻旂⒈鏁冩い鎰剁秵濡矂姊婚崒姘偓鎼佸磹妞嬪孩顐芥慨妯挎硾閻掑灚銇勯幒鎴濃偓鍛婄濠婂牊鐓犳繛鑼额嚙閻忥繝鏌¢崨顓犲煟妞ゃ垺宀搁崺鈧い鎺戝閽冪喖鏌ㄥ┑鍡╂▓闁轰礁娲弻锝夊箛椤撶姰鍋為梺绋款儐閹瑰洤鐣疯ぐ鎺濇晪闁告侗鍘介鍧楁⒑閼姐倕孝婵炶濡囩划濠囧级閹崇缍佸畷濂稿Ψ閿旀儳甯鹃梻濠庡亜濞层倛澧濋梺绋款儐閹瑰洤顕i鍕ㄩ柕澶堝€曢ˉ姘舵⒒娴h櫣甯涢柛銊ュ悑閹便劑濡舵径瀣簵闂佺粯岣块弫绋课涢鐐寸厸濠㈣泛锕︽禒銏ゆ煠閸濄儲鍤€妞ゎ叀鍎婚ˇ铏節閵忊垙褰掓倶閸愵喗鈷戦柛婵嗗閺嗘瑩鏌eΔ鈧敃顏堝春濞戙垹绠抽柟鐐藉妼缂嶅﹪寮幇鏉跨倞闁冲搫鍊归崯鎺楁⒒娴h鍋犻柛濠冩礋瀹曨垶骞橀鑹版憰濠电偞鍨崹娲磻閹邦喒鍋撶憴鍕婵炲眰鍊濋崺娑㈠醇閵忋垻锛濇繛杈剧稻閸ㄦ繈宕ラ锔界厱閻庯綆鍓欐禒褔鏌熼獮鍨仼闁宠鍨归埀顒婄秵娴滅偤鏁嶅⿰鍐f斀闁绘ǹ顕滃銉╂倵濮樼厧寮い銏$懇瀵挳濮€閳锯偓閹风粯绻涙潏鍓ф偧閺嬵亝銇勯妷銉х闁哄本绋撻埀顒婄秵娴滄繈宕宠ぐ鎺撳亗闁靛牆妫欓崣蹇斾繆閻愰鍤欏ù婊堢畺濮婅櫣鎷犻垾铏彲缂備胶绮换鍐╃┍婵犲洦鍊婚柦妯侯槺閸樻悂姊虹粙鎸庢拱闁糕晛鍟村畷鎴﹀箻缂佹ê浠洪梺鍛婄☉閿曪箓宕i崱妞绘斀闁绘ḿ绮☉褎淇婇锝囨创鐎规洘鐟ㄩ妵鎰板箳閹捐泛骞嶉梻浣告啞閻熴儵藝椤栫偛绀夐柕鍫濐槹椤ュ棗顭跨捄铏圭伇婵☆偒鍨遍妵鍕箻閸楃偟浠鹃梺杞扮窔娴滃爼骞冨Δ鈧~婵嬫倷椤掆偓椤忥拷
  • 闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧綊鏌熼梻瀵割槮缁炬儳缍婇弻鐔兼⒒鐎靛壊妲紒鐐劤缂嶅﹪寮婚悢鍏尖拻閻庨潧澹婂Σ顔剧磼閹冣挃闁硅櫕鎹囬垾鏃堝礃椤忎礁浜鹃柨婵嗙凹缁ㄥジ鏌熼惂鍝ョМ闁哄矉缍侀、姗€鎮欓幖顓燁棧闂備線娼уΛ娆戞暜閹烘缍栨繝闈涱儐閺呮煡鏌涘☉鍗炲妞ゃ儲鑹鹃埞鎴炲箠闁稿﹥顨嗛幈銊╂倻閽樺锛涘┑鐐村灍閹崇偤宕堕浣镐缓缂備礁顑嗙€笛囨倵椤掑嫭鈷戦柣鐔告緲閳锋梻绱掗鍛仸鐎规洘鍨块獮鍥偋閸垹骞堟繝鐢靛仜濡鎹㈤幇顓狀洸闁规鍠氱壕濂告煟濡寧鐝€规洖鐬奸埀顒侇問閸犳牠鈥﹂悜钘夋瀬闁归偊鍘肩欢鐐测攽閻樻彃顏柡澶婃啞娣囧﹪鎮欓鍕ㄥ亾閺嶎灛娑欐媴鐟欏嫬寮块梺闈涚墕閹叉盯骞掑Δ鈧粈瀣亜閺嶃劎鈻撻柟宄版惈閳规垿鎮欑捄楦挎暱濡炪倖娉﹂崶鈺佺ウ闂佸搫绉查崝瀣崲閸℃ǜ浜滈柟鏉垮缁夊灚绻涢崼鐔虹煀闁宠鍨块崺鍕礃閳轰礁鏀俊銈囧Х閸嬬偟鏁敓鐘靛祦閻庯綆鍣弫鍥煟閺傚灝妲婚柛妯煎仱濮婂宕掑▎鎴濆闁诲海鐟抽崨顔煎簥闂佺ǹ鐬奸崑娑氱不閻樼鍋撻獮鍨姎婵☆偅鐩幃鐢稿醇閺囩喓鍘搁梺鎼炲劘閸庨亶鎮橀鍫熺厽闁规崘娉涢弸娑欘殽閻愬澧懣鎰亜閹哄棗浜鹃梺閫炲苯鍘甸柛濠冩礀閻滃宕稿Δ鈧粻娑欍亜閹捐泛啸妞ゆ梹娲栭埞鎴︽倷鐎涙ḿ绋囧銈嗗灥濡鍩㈠澶婄倞闁冲搫鍟伴敍婊堟煛婢跺﹦澧愰柡鍛⊕缁傛帡鏁傞崜褏锛滃┑掳鍊曢崯顐﹀几濞戙垺鐓曢柍瑙勫劤娴滅偓淇婇悙顏勨偓鏍暜閹烘柡鍋撳鐓庡籍鐎规洘鍨佃灒婵懓娲g花濠氭⒑閸濆嫬鏆欓柛濠勬暬楠炲繘鍩勯崘顏嗩啎缂備焦顨呴幖顐f叏閸岀偞鐓涢悘鐐垫櫕鍟稿銇卞倻绐旈柡灞剧洴楠炴ḿ鈧潧鎲¢崳鏉款渻閵堝啫鐏€光偓閹间礁鏋侀柟閭﹀幖缁剁偛鈹戦悩鍙夋悙闁轰礁缍婂缁樻媴閸涘﹥鍎撳┑鐐茬湴閸旀垵鐣烽幋锔藉亜缁炬媽椴搁弲锝呪攽閻愬弶鈻曞ù婊勭箞閸╂盯骞嬮悩鐢碉紳婵炶揪缍侀鍥熼懖鈺冿紳濠殿喗枪閸╂牠鎮″☉妯忓綊鏁愰崨顔兼畼閻熸粎澧楃敮妤呭磻閳哄懏鐓曟い顓熷灥娴滅偤鏌i悢椋庣Ш闁哄苯绉烽¨渚€鏌涢幘瀵告噰闁挎繄鍋犵粻娑㈠箻娴h銇濇い銏℃瀹曘劑顢橀悤浣告倯闂傚倸鍊风欢姘缚瑜旈幃褔宕卞☉妯肩枃闂婎偄娲︾粙鎺楀磹閻㈠憡鐓曢柟鐐殔閹虫劙鏁嶅┑鍥╃闁瑰墽顥愭竟妯荤箾鐏炲倸鈧繂顕g粙搴撴闁靛骏绱曢崢钘夘渻閵堝棗绗掗柛鐕佸亝缁傚秷銇愰幒鎾跺幈闂佸湱鍎ら幐绋棵归閿亾濞堝灝娅橀柛锝忕到閻g兘鎮℃惔妯绘杸闂佸壊鍋掗崑鍛板€存繝鐢靛Х閺佹悂宕戦悩璇茬妞ゅ繐妫涚粈濠囨煃瑜滈崜姘辨崲濞戙垹妞介柛鎰典簽琚﹂梻浣芥〃缁€浣虹矓閹绢喖鐓橀柟瀵稿Л閸嬫捇鏁愭惔鈥茬爱闂佸綊鏀卞浠嬪蓟閿濆鍋勯柛婵勫劜閸Q囨煟鎼淬垹鍤柛鎾寸〒閸掓帡宕奸妷銉ь槰闂佸磭鎳撻妵妯艰姳婵犳碍鈷戦柛婵嗗閹兼劖淇婇锝庢疁妤犵偛锕獮鍥敇閻橆偅鐏冮柣搴$畭閸庡崬螞濞嗘挸鐭楅煫鍥ㄦ煣缁诲棙銇勯弽銊ь暡闁稿鍎甸弻娑樷攽閸ャ劊浠㈤梺鍝勬湰閻╊垶骞冮埡鍛闁圭粯甯╁ḿ鏃傜磽閸屾瑨鍏岀紒顕呭灣閹广垽宕橀鍛簥濠电娀娼ч鍛閸忚偐绡€濠电姴鍊搁弸銈夋煛閸♀晛浜版慨濠勭帛閹峰懘宕ㄦ繝鍌涙畼濠电儑绲藉ú锕€顪冩禒瀣櫜闁绘劖娼欑欢鐐烘倵閿濆骸鍘撮柡鈧搹顐ょ瘈闁汇垽娼у瓭濠电偛鐪伴崐鏇灻洪崸妤佲拻濞达絽鎲¢崯鐐层€掑顓ф疁鐎规洑鍗冲鍊燁槷闁哄绉归弻鏇㈠醇濠垫劖效闂佹娊鏀遍崹鍦閹惧瓨濯撮柤娴嬪墲閸ㄨ绂嶉幖渚囨晜闁割偆鍠撻崢閬嶆煙閼圭増褰х紒鏌ョ畺瀵娊顢楅崒妤€浜炬繛鍫濈仢閺嬫稒銇勯鐘插幋鐎殿噮鍋婇獮鍥敇閻愮數鐛┑鐘垫暩婵挳宕愰崫銉х焾妞ゆ洍鍋撴慨濠勭帛閹峰懘鎼归悷鎵偧闂備礁鎲″褰掓偋濠婂懎鍨濆┑鐘叉搐缁犵粯銇勯弮鍥т汗闁挎稒鐩铏规喆閸曨偆顦ㄥ銈嗘肠閸パ咁唹闂佺厧鎽滈崑锝嗙濠婂牊鐓欓柟顖嗗苯娈堕梺瀹犳椤︻垶婀佸┑鐘诧工閹冲孩绂嶆ィ鍐╃厵濞撴艾鐏濇俊濂告懚閿濆鐓熼柟鎯х-閸戠懓顭跨憴鍕闁哄矉绲鹃幆鏃堝閵忕姵娈归梻浣烘嚀閸ゆ牠骞忛敓锟�
  • 缂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧綊鏌熼梻瀵割槮缁炬儳缍婇弻鐔兼⒒鐎靛壊妲紒鐐劤缂嶅﹪寮婚悢鍏尖拻閻庨潧澹婂Σ顔剧磼閻愵剙鍔ょ紓宥咃躬瀵鎮㈤崗灏栨嫽闁诲酣娼ф竟濠偽i鍓х<闁诡垎鍐f寖闂佺娅曢幑鍥灳閺冨牆绀冩い蹇庣娴滈箖鏌ㄥ┑鍡欏嚬缂併劌銈搁弻鐔兼儌閸濄儳袦闂佸搫鐭夌紞渚€銆佸鈧幃娆撳箹椤撶噥妫ч梻鍌欑窔濞佳兾涘▎鎴炴殰闁圭儤顨愮紞鏍ㄧ節闂堟侗鍎愰柡鍛叀閺屾稑鈽夐崡鐐差潻濡炪們鍎插畝绋款潖缂佹ɑ濯撮柦妯猴紞閹剧粯瀚呴弶鍫氭櫇绾惧ジ鎮归崶銊ョ祷闁逞屽墮閻忔繈鏁冮姀锛勭懝闁逞屽墮椤繘鎼归崷顓犵厯闁荤姵浜介崝搴敊閸ヮ剚鈷戦柛娑橈龚婢规ɑ銇勯幋婵囧窛婵″弶鍔欓幃娆撳传閸曨収鍚呴梻浣瑰濮婂寮查锕€鍌ㄩ梺顒€绉甸埛鎴︽⒒閸喕鍎愮憸鐗堝笒绾惧潡姊洪鈧粔鎾倿閸偁浜滈柟鍝勬娴滄儳鈹戦悙鑼癁闁逞屽墯閸撴岸宕甸弴鐐╂斀闁绘ê纾。鏌ユ煛閸涱喖绲绘い顓℃硶閹瑰嫮鎮伴敍鍕畽婵犵數鍋熼崢褔鏁冮鍕垫綎闁惧繐婀辩壕鍏间繆椤栨碍绂嬪ù婊勭矎閻忔帗绻濋悽闈浶㈠ù纭风到閳藉螣閸忓吋鐣烽梻浣告啞濞诧箓宕楀鈧獮蹇撁洪鍛幐婵犮垼娉涢懟顖涚閿曗偓椤潡鎮烽悧鍫&闁芥ɑ绻堥弻銊╁籍閳ь剟宕瑰┑鍫熷床闁糕剝菧娴滄粓鏌熼弶鍨暢闁诡喛鍋愮槐鎺楁偐闂堟稐鎴烽梺閫炲苯澧い鏃€鐗犲畷浼村冀椤撴稈鍋撻敃鍌涘€婚柦妯侯槹閻庮剟姊鸿ぐ鎺戜喊闁告ǹ鍋愬▎銏ゆ倷濞村鏂€闂佺粯蓱瑜板啴顢旈锝囩闁绘挸瀵掑Ο鈧┑顔硷功缁垶骞忛崨鏉戝窛闂傚牊绋撶粔铏光偓娈垮枤閺佸銆佸Δ鍛妞ゆ巻鍋撴繛鍫㈠仱濮婅櫣绱掑Ο鍝勑曢梺鍛婃尰閻╊垶濡撮崨瀛樼叆閻庯綆鍋勫鍨攽閿涘嫬浠╂い鏇嗗嫮顩查柟顖嗏偓閺€鑺ャ亜閺冨倶鈧顔忛妷鈺傜厵缁炬澘宕禍鐐烘煕濞嗗繑鍤囬柡宀嬬秮閹晠宕f径濠庢П闁荤喐绮嶅姗€宕幍顔煎灊濠电姵鑹炬导鐘绘煕閺囩偟浠涢悗闈涚焸濮婃椽妫冨☉姘暫闂佸摜鍣ラ崑鍛┍婵犲啰闄勯柛娑橈功閸欏棝姊洪崫鍕偍闁告柨顑囬懞杈╃磼濡晲绨婚梺鍝勬祩娴滅偟绮欓懡銈囩<缂備焦岣跨粻鎾淬亜椤愶絿绠炴い銏★耿閹瑩骞嶉鐐櫒闂傚倸鍊峰ù鍥х暦閻㈢ǹ纾婚柣鎰暩閻瑩鏌涢鐘插姎闁绘帒鐏氶妵鍕箳閸℃ぞ澹曢梻浣告啞钃遍柣妤侇殘缁晠鎮㈤悡搴″祮闂佺粯鍔忛弲婊堝棘閳ь剟姊绘担铏瑰笡闁告梹鐗曞玻鍨枎閹炬潙鈧爼鏌ㄩ弴鐐测偓褰掓偂閻斿吋鐓熼柡鍥╁仜閳ь剝宕垫竟鏇犳崉閵娧咃紲闁哄鐗勯崝宥囦焊椤撶喆浜滄い鎰剁悼缁犳牗绻涢悡搴g闁糕晪绻濆畷妯兼崉閵娿儳鍝庨梻鍌氬€搁崐鐑芥嚄閸撲礁鍨濇い鏍ㄧ箖閹冲矂姊绘担瑙勫仩闁告柨绉撮悾婵嬪箹娴e搫绁﹂柣搴秵閸犳宕戦幇鐗堢厱闁归偊鍘肩徊鑽ょ磼閵婏絽鍔滅紒缁樼箞閹粙妫冨☉妤佸媰闂備礁澹婇悡鍫ュ垂鐠鸿櫣鏆︾憸鐗堝笒閹硅埖銇勯幘璺盒ラ柣鎺戙偢濮婅櫣绮欑捄銊т紘闂佺ǹ顑囬崑銈夊箖閿熺姴鍗抽柕蹇嬪灩瑜板嫰姊洪幖鐐插姌闁告柨绉舵竟鏇㈡偨閸涘﹦鍘甸柣蹇撶箣缁€浣规櫠閹绘崨搴ㄥ炊瑜濋煬顒併亜閵忊剝绀嬪┑顔瑰亾闂佺粯枪濞呮洟顢欓幒鎾剁瘈婵炲牆鐏濋弸娑㈡煥閺囨ê濡奸柍璇茬Ч閺佹劖寰勬繝鍕靛數闂備胶绮灙妞ゆ泦鍥ㄥ€堕柟鎯板Г閻擄綁鐓崶椋庡埌濞存粎鍋涢湁婵犲﹤绨奸柇顖涙叏婵犲嫮甯涢柟宄版噽閹叉挳宕熼鈥虫憢闂傚倷鐒﹂幃鍫曞礉瀹ュ拋娓诲ù鐘差儏缁犳牠鏌ㄩ悢鍝勑i柡鍛倐閺岋絽螣閸濆嫮楠囧┑鈥虫▕閸撶喎顫忓ú顏咁棃婵炴垶姘ㄩ悾楣冩⒑閸涘﹥灏扮紒璇茬墕閻g兘寮撮姀鈥充簻闂佺ǹ绻楅崑鎰板储椤忓牊鈷戦柛鎾村絻娴滄繄绱掔拠鎻掓殭妞ゆ柨绻愰埞鎴犫偓锝庡亞閸樺憡绻濋姀锝嗙【妞ゆ垵妫濆畷鎰板箛椤撶喎寮挎繝鐢靛Т閸燁垶濡靛┑鍫氬亾鐟欏嫭绀堥柛蹇旓耿閵嗕礁顫滈埀顒勫春閸曨垰绀冮梺娆惧灠娴滅偓淇婇妶鍛櫤闁抽攱鍨块弻鐔兼嚃閳轰椒绮舵繝纰樷偓宕囦虎妞ゎ叀鍎婚ˇ铏亜閵娿儳澧㈤柛鎺撳笧閳ь剨缍嗘禍鍫曞触鐎n喗鐓曢柍鈺佸暙婵洤霉濠婂嫮绠炴慨濠冩そ瀹曘劍绻濋崒姘兼綂闂備礁鎼幊蹇曟崲閸繄鏆﹂柕蹇嬪€曠涵鈧梺缁樺姀閺呮粓寮埀顒勬⒒娴h櫣甯涘畝锝堟硶閸掓帡顢涘锝嗩潔閻熸粍妫冮獮鍐ㄎ旈埀顒勶綖濠靛鍋傞幖绮规閹奉偊鏌f惔銈庢綈婵炲弶岣块幑銏ゅ醇閻斿墎绠氶梺鍓插亝濞叉牠鎮欐繝鍥ㄧ厓闁告繂瀚弸锔剧磼鏉堛劎鍙€婵﹦绮幏鍛驳鐎n偆绉烽柣鐔哥矋濠㈡﹢宕幘顔衡偓渚€寮介鐐靛€炲銈嗗笂缁€浣圭婵傚憡鈷戞慨鐟版搐閻忊晠鏌熺拠褏绡€闁诡喒鈧枼妲堟慨姗堢到娴滈箖鏌涜箛鎿冩Ц濞存粓绠栧娲焻閻愯尪瀚板褍顕埀顒冾潐濞叉垿宕¢崘宸殨濞寸姴顑愰弫鍥ㄧ節瑜庨崕铏閹灐褰掓晲閸モ斂鈧﹥淇婇幓鎺斿ⅵ闁哄本娲濈粻娑㈠即閻愭劑鍨介弻銈夊级鐠恒劋铏庨梺瀹狀潐閸ㄥ爼鐛繝鍥ㄧ厱濠电姴鍟粈鍫ユ煃瑜滈崜姘跺礄瑜版帒绀堥柣鏃傤儠閳ь兛绶氬顕€宕奸锝嗘珝闂備胶绮崝蹇涘疾濠婂牆妫橀柍褜鍓熷缁樻媴閾忕懓绗¢梺鍛婃⒐宀f寧绂嶇粙搴撴瀻闁归偊鍘介悵鐑芥⒒娓氬洤澧紒澶屾暬閹繝寮撮姀鈥斥偓鐢告煥濠靛棛鍑归柟顔肩Ф閳ь剝顫夐幃鍫曞磿閺屻儱桅闁告洦鍨奸弫鍐煏韫囧鐏い鏃€甯″娲捶椤撶偛浠樺┑鐘亾闂侇剙绉寸粻鐔兼煙缂併垹鏋涚紒鈧€n偁浜滈柟鎵虫櫅閳ь儸鍛潟闁跨喓濮甸埛鎺楁煕鐏炲墽鎳呯紒鎰⒐缁绘稒鎷呴崘鎻掝伀濞寸姵宀稿缁樻媴閸涢潧婀遍埀顒佺▓閺呯娀骞冮敓鐘虫櫢闁绘ǹ灏欓悾娲⒑濮瑰洤鐏弸顏呫亜椤愩垺鍤囬柡灞炬礋瀹曠厧鈹戦崶鑸殿棓闂備礁缍婇弨鍗烆渻閽樺娼栨繛宸簼閸ゆ帡鏌曢崼婵囧櫤闁诲孩鍎抽埞鎴︽偐椤旇偐浠鹃梺鎸庡哺閺屽秶绱掑Ο璇茬3闂佺硶鏅换婵嗙暦閵娾晩鏁婇柟顖嗗啰顓奸梻鍌氬€风粈渚€骞夐敓鐘插瀭妞ゆ牜鍋涚壕褰掓煛瀹ュ骸浜愰柛瀣尭椤繈鎮欓鈧锟�
  • 闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧綊鏌熼梻瀵割槮缁炬儳缍婇弻鐔兼⒒鐎靛壊妲紒鐐劤濠€閬嶅焵椤掑倹鍤€閻庢凹鍙冨畷宕囧鐎c劋姹楅梺鍦劋閸ㄥ綊宕愰悙鐑樺仭婵犲﹤鍟扮粻鑽も偓娈垮枟婵炲﹪寮崘顔肩<婵炴垶鑹鹃獮妤呮⒒娓氣偓濞佳呮崲閸℃稑绠犳慨妯挎硾閹硅埖銇勯幘璺盒ユ鐐存尭閳规垶骞婇柛濠冩礋楠炲﹨绠涘☉娆忎簵濠电偛妫欓幐濠氭偂濞嗘劗绠鹃柛顐g箘娴犮垽鏌$€n偆鈯曢柕鍥у閺佹劙宕ㄩ顫垝闂備礁鎼張顒傜矙閹捐鐒垫い鎺戯功閸掓澘顭胯濞村嘲顕h閸┾偓妞ゆ帒瀚崐鍨箾閸繄浠㈤柡瀣洴閺岋綁寮介銏犱粯闂佷紮绲块崗姗€骞冮埄鍐╁劅妞ゆ棁妫勯崗濠冧繆閻愵亜鈧牠骞愭ィ鍐ㄧ獥闁规儳绠嶆禍褰掓煕濞戝崬鐏g痪鍙ョ矙閺屾稓浠﹂崜褎鍣紓浣风劍婢瑰棛妲愰幘璇查唶婵犲﹤鍟粊顕€鎮楃憴鍕闁告梹鐟ラ锝夊箻椤旇姤娅栭梺鍛婃处娴滅偤鎳楀ú顏呪拻闁稿本鑹鹃埀顒傚厴閹偤鏁傞柨顖氫壕缂佹绋戦幊蹇撶暦閺屻儲鐓曠€光偓閳ь剟宕戝☉姘变笉闁绘ǹ顕х粻瑙勭箾閿濆骸澧┑鈥冲悑閹便劑鎮烽弶璺ㄩ獓缂備胶绮惄顖氱暦閸楃倣鐔煎传閸曞灚缍囩紓鍌氬€峰ù鍥敋瑜嶈灋婵炲棙鎸告闂佸憡娲﹂崹鎵不濞戙垺鐓欐い鏍ㄧ矊椤g厧鈹戦纰辨Ц妞ゎ亜鍟存俊鍫曞川椤栨粠鍞堕梻浣虹帛椤ㄥ懎螞濠婂懏宕叉慨妯垮煐閳锋帒霉閿濆懏鍟為悹鎰剁節閺屾稒鎯斿☉妯峰亾濠靛棛鏆︽繛宸簻闁卞洦绻濋崗姝屽厡缂佸彉鍗冲娲礃閸欏鍎撻梺鐟板暱缁绘﹢骞冮敓鐘参ㄩ柨鏂垮⒔閻﹀牓姊婚崒姘卞缂佸甯¤棢闁绘劗鍎ら悡鏇㈡煥濠靛棙顕氱憸鐗堝坊閳ь剨濡囬幑鍕Ω閿曗偓閺嬪倿姊洪崨濠冨闁告挻鐩棟闁靛⿵濡囩粻楣冩煥濠靛棙鍣洪柟鍏煎姍閺屻劑寮撮妸銈囧嚬婵烇絽娲ら敃顏勭暦婵傜ǹ鍗抽柣鎰版涧閳ь剛鍋涢—鍐Χ鎼粹€斥拻闂佸摜濮甸幑鍥х暦閺囥垺鍋ㄧ紒瀣劵閹芥洖鈹戦悙鏉戠仸闁糕晛鍟村畷鎴﹀箻缂佹ɑ娅滈柟鑲╄ˉ閳ь剝灏欓惄搴♀攽閻樻剚鍟忛柛鐘崇墱缁棃宕奸弴鐐靛姦濡炪倖甯掗崰姘缚閹邦厾绠鹃柛娆忣檧閼拌法鈧娲栫紞濠傜暦缁嬭鏃堝礃閵娧佸亰濠电姵顔栭崰妤呭Φ濞戙垹纾婚柟鎯х亪閸嬫挸鈻撻崹顔界彯闂佸憡鎸鹃崰鎰┍婵犲洦鍊婚柤鎭掑劜濞呭棝姊洪崗闂磋埅闁稿氦灏欏▎銏ゎ敃閿旇В鎷婚梺绋挎湰閼归箖鍩€椤掑倸鍘撮柟铏殜瀹曟粍鎷呯粙璺ㄤ喊婵$偑鍊栭悧妤€顫濋妸鈺冨祦闁瑰墽绮崑锝夋煙椤撶喎绗掑┑鈥炽偢閺屾盯濡搁敂鍓х暫闂侀潧娲ょ€氭澘顕f禒瀣╅柕澹啫袪濠电姷顣介崜婵娿亹閸愵喗鍋嬮煫鍥ㄧ☉缁犵喖鏌涘☉姗堟敾闁稿海鍠栭弻銊モ攽閸℃﹩妫為柟鍏兼綑閿曘倝鍩為幋锔藉€烽柡澶嬪灩娴犳悂姊哄ú璇插季闁哥姵鐗犻崺銏$鐎e灚鏅滈梺鍓插亞閸犳捇宕㈤柆宥嗙厽闊洦娲栨禒锕傛煕鎼淬垹鈻曢柟顔惧仩閵囨劙骞掗幘璺哄箞闂佽鍑界紞鍡涘磻閸涱垯鐒婃い鎾卞灪閻撳啴鎮峰▎蹇擃仼闁诲繐顕埀顒冾潐濞叉牕鐣烽鍕厺閹兼番鍔岀粻娑欍亜閹炬鍟▍妤呮⒒閸屾艾鈧悂宕愭搴㈩偨婵﹩鍏楃紓姘辨喐韫囨稑绠查柕蹇嬪€曢柋鍥煏婢跺牆鍔ら柨娑欑懇濮婃椽宕崟顒€绐涙繝娈垮櫍閺€杈╃矙婢跺⿴鍚嬪璺侯儑閸欏嫰妫呴銏$カ缂佽尪濮ょ粋宥呂旈崘顏嗭紲闁荤姴娲ゅ鍫曀夐姀銈嗙厸閻忕偟鍋撶粈瀣偓瑙勬礈閸樠囧煘閹达箑鐐婄憸搴敂閻樼粯鈷掑ù锝呮啞閹牊淇婇锝囨噰闁诡喚鏌夐ˇ瑙勵殽閻愬樊妯€妤犵偞鐗楅幏鍛村传閵夆晝宕滈梻鍌欑婢瑰﹪鎮¢崼銉ラ棷妞ゆ棁妫勯閬嶆煕閹扳晛濡烽柡鈧懞銉d簻闁哄啫鍊堕埀顒€顑夊銊х磼濡湱绠氶梺缁樺姈婢瑰棝鎯屽▎鎾寸厽婵炴垵宕▍宥団偓娈垮枙缁瑩銆佸鈧幃銏焊娴i晲澹曢梺缁樺灱婵倝鎮″▎鎴犵=濞达絽顫栭鍡欑當闁圭儤顨嗛幊姘叏濡灝鐓愰柍閿嬪浮閺屾稓浠﹂崜褎鍣銈忚缁犳捇寮婚悢鐑樺珰鐟滃繒寮ч埀顒勬倵鐟欏嫭绀冪紒璇叉缁鈽夊Ο閿嬵潔濠碘槅鍨伴崥瀣偂閿濆棛绡€闁汇垽娼у瓭闂佹寧娲忛崐婵嬪箖瑜嶉オ浼村醇濠靛洨鈧剚绻濋悽闈浶㈡繛璇х畵閹繝寮撮姀锛勫幐闂佹悶鍎崕杈ㄤ繆閸忕⒈娈介柣鎰缂傛岸鏌i妷顔婚偗鐎规洩缍佹俊鐤槾闁绘挻鎹囧娲传閸曨剚鎷辩紓浣割儐閹歌崵绮嬮幒妤佹櫇闁稿本姘ㄩˇ顓㈡偡濠婂啴鍙勭€规洘濞婇、姗€鎮╅悽纰夌闯濠电偠鎻徊鍧楀蓟婢舵劕绀傞悘鐐电摂閻斿棛鎲告惔銊b偓鍐╃節閸愌呯畾闂佹眹鍨绘灙缂佲偓鐎n偁浜滈柡宥冨妽閻ㄦ垿鏌i銏狀伃婵﹥妞介弻鍛存倷閼艰泛顏繝鈷€鍐惧殶闁逞屽墲椤煤濡吋宕查柛宀€鍋涢悡婵嬪箹濞n剙濡肩紒鐘差煼閹銈﹂幐搴哗闂侀潧鐗炵粻鎾愁潖缂佹ḿ绡€閹肩补鈧尙鐩庢繝鐢靛仩椤曟粍淇婇崶鈺佸灊婵炲棙鎸哥粻铏繆閵堝倸浜鹃梺姹囧€濈粻鏍蓟閻斿吋鈷掗悗鐢登规俊浠嬫⒑缂佹ɑ灏柛搴f暬瀵鏁愭径濠傚祮闂佺粯鍔栫粊鎾磻閹捐鎹舵い鎾寸☉娴滅偓鎱ㄥΟ鐓庝壕閻庢熬鎷�
  • 闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧綊鏌熼梻瀵割槮缁炬儳缍婇弻鐔兼⒒鐎靛壊妲紒鐐劤缂嶅﹪寮婚悢鍏尖拻閻庨潧澹婂Σ顔剧磼閹冣挃闁硅櫕鎹囬垾鏃堝礃椤忎礁浜鹃柨婵嗙凹缁ㄥジ鏌熼惂鍝ョМ闁哄矉缍侀、姗€鎮欓幖顓燁棧闂備線娼уΛ娆戞暜閹烘缍栨繝闈涱儐閺呮煡鏌涘☉鍗炲妞ゃ儲鑹鹃埞鎴炲箠闁稿﹥顨嗛幈銊╂倻閽樺锛涘┑鐐村灍閹崇偤宕堕浣镐缓缂備礁顑嗙€笛囨倵椤掑嫭鈷戦柣鐔告緲閳锋梻绱掗鍛仸鐎规洘鍨块獮鍥偋閸垹骞堟繝鐢靛仜濡鎹㈤幇顓狀洸闁规鍠氱壕濂告煟濡寧鐝€规洖鐬奸埀顒侇問閸犳牠鈥﹂悜钘夋瀬闁归偊鍘肩欢鐐测攽閻樻彃顏柡澶婃啞娣囧﹪鎮欓鍕ㄥ亾閺嶎偅鏆滃┑鐘插婵ジ鏌$仦璇插姎闁告垹濮电换娑㈠幢濡ゅ啰鐣鹃梺琛″亾濞寸姴顑嗛悡鐔兼煙闁箑澧伴柟鐣屽█閹ǹ绠涢敐鍛闂侀潧娲ょ€氫即銆佸鈧幃鈺呭箵閹烘垹顓洪梺璇插椤旀牠宕伴弽顓涒偓锕傛倻閽樺鐣洪梺闈涚箞閸婃洜绮堥崒鐐寸厽闁规儳纾畝鎼佹煕鐎n偅灏电紒杈ㄥ笒铻i柛锔诲幘閻g偓淇婇悙顏勨偓鏍偋濡ゅ啫鍨濈€光偓閸曨偆顦梺鎸庢礀閸婂綊鎮″▎鎴斿亾閻熸澘顏柛瀣躬閹繝宕楅崗鐓庡伎婵犵數濮撮崯顖炲Φ濠靛牃鍋撶憴鍕8闁告柨绉堕幑銏犫攽閸ャ劌鍔呴梺闈涚箞閸ㄥ搫鈻撴ィ鍐┾拺閻犲洦鐓¢妤呮煕濡崵鐭掔€规洘鍨块獮姗€宕滄担鐚寸床闂佽鍑界紞鍡涘磻閹烘纾块柕澶涘缁犻箖鏌涜箛姘汗濠⒀屽墰缁辨帞绱掑Ο灏栨濡炪倖鏌ㄧ换姗€銆佸▎鎾村殥闁靛牆娲﹂弲銊╂⒒閸屾瑧鍔嶉柟顔肩埣瀹曟繂鐣濋崟顐わ紮閻熸粎澧楃敮鎺擃攰闂備礁鎲″ú锕傚垂娴兼潙纭€闁规儼濮ら悡鐔兼煙闁箑骞楃紓宥嗗灦缁绘盯宕崘顏喰滃┑顔硷攻濡炶棄鐣烽妸锔剧瘈闁告劑鍔戦悗鍝勨攽閻橆喖鐏柟铏尭铻炴繛鎴烆焸閿濆绠涢柡澶庢硶椤旀帡鏌f惔銏⑩姇闁挎碍銇勬惔銏″暗缂佽鲸鎸婚幏鍛村礈閹绘帒澹夋俊鐐€栭崹鍫曟偡閳轰緡鍤曢柟鎯版椤懘鏌曢崼婵囶棏闁圭柉娅g槐鎾存媴閸撴彃鍓卞銈嗗灦閻熲晛鐣烽弴銏犵闁挎梻鏅崢閬嶆⒑缂佹◤顏嗗椤撶喐娅犻柣銏犳啞閻撶喐绻涢幋婵嗚埞闁哄鍠撻埀顒€鐏氬妯尖偓姘煎墴閹儳鈹戠€n亞鍔﹀銈嗗笒鐎氼參宕曞Δ浣虹闁糕剝锚婵绱掗悩鑽ょ暫闁哄本鐩崺鍕礂閻欌偓娴滎亜鐣峰┑瀣у璺侯儑閸橀潧顪冮妶鍡橆梿婵☆偄瀚伴幃妯尖偓娑櫳戦崣蹇撯攽閻樻彃鏆為柕鍥ㄧ箖椤ㄣ儵鎮欑€电ǹ鈷岄梺璇″枟閻熲晠鐛幘璇茬闁规惌鍘界紞宥夋⒒閸屾艾鈧绮堟笟鈧獮鏍敃閿曗偓缁犵娀鐓崶銊︾鐎规洘鐓¢弻娑㈠箛閻㈤潧甯ラ梺鎼炲€栭〃濠囧蓟濞戙垹鍗抽柕濞垮劤娴犫晝绱撴担鎻掍壕闁诲函缍嗛崑浣圭濠婂牊鐓涚€广儱鍟俊鍧楁煃缂佹ɑ宕岄柡宀€鍠栭弻銊р偓锝庡亖娴犮垽姊洪崫鍕効缂傚秳绶氶獮鍐煛閸涱厾鐓戞繝銏f硾閻牆危濞差亝鈷掑〒姘e亾闁逞屽墰閸嬫盯鎳熼娑欐珷妞ゆ柨澧藉Λ顖滅磽娴i潧鐏╃€殿噮鍣i弻娑㈠煘閹傚濠碉紕鍋戦崐鏍ь啅婵犳艾纾婚柟鐐暘娴滄粍銇勯幘璺盒㈤柛妯虹摠椤ㄣ儵鎮欓幓鎺撴濡炪値鍋呯划鎾诲春閳ь剚銇勯幒鎴濐仼缂佺姵鐗楃换娑㈠幢濡櫣浠搁悗瑙勬礀椤︾敻寮婚敐澶婄厸闁稿本姘ㄩ悷鏌ユ⒑閸︻厐褰掆€﹂柨瀣╃箚闁汇垻枪缁€瀣亜閺嶃劎顣叉い銉︾箞濮婃椽宕滈懠顒€甯ラ梺鍝ュУ鐢€崇暦閹达箑绠婚悹鍥у级瀹撳秴顪冮妶鍡樺暗闁哥姴瀛╅幆鏃€绻濋崒妤佹杸闂佺粯岣跨划顖氣槈瑜旈弻锝呂旈埀顒€螞濠靛棭鍤曢柟闂寸闁卞洦绻濋崹顐㈠闁哥偟鏁婚弻锝夋偐閼姐倗绐楀┑鐐叉嫅缂嶄線骞冨鈧弻鍡楊吋閸℃瑥寮虫繝鐢靛仦閸ㄥ爼鎳濇ィ鍐ㄥ嚑婵炴垶鐟﹂崣蹇撯攽閻樺弶鍣烘い蹇曞Х缁辨帡顢欓悾灞惧櫑闂佸疇顕ч柊锝夌嵁閸℃凹妲绘繝銏㈡嚀椤﹁京妲愰幘璇茬<婵炲棙鍩堝Σ顔碱渻閵堝棗鐏ユ俊顐g洴瀵偊顢氶埀顒勫垂妤e啫绠涘ù锝呮啞椤撳潡姊绘担鍛婃儓閻炴凹鍋婂畷鏇㈡焼瀹ュ棛鍘戦梺鎼炲労閸撴岸鎮″☉銏$厱闁靛鍨哄▍鍛存煛鐎n亪顎楅棁澶愭煟濡櫣婀撮柛瀣ㄥ灲閺岀喖顢欑粵瀣杹閻庤娲橀〃鍡楊嚗閸曨剛绡€濞达絽澹婂Λ婊堟⒒閸屾艾鈧娆㈠璺虹劦妞ゆ帒鍊告禒婊堟煠濞茶鐏¢柡鍛埣楠炴﹢顢欓悾灞藉箥婵$偑鍊栭悧妤€顫濋妸鈺傚€块柛娑樷看濞堜粙鏌i幇顔筋瀷缂傚倹姘ㄧ槐鎺撴綇閵娿儳鐟ㄩ柧浼欑秮閺岋綁骞橀幎绛嬧偓妤冪磼閻樿櫕銇濇慨濠傤煼瀹曟帒鈻庨幇顔哄仒婵$偑鍊ら崑鍕囬棃娑氭殾闁哄洨鍋熼弳锕傛煕閵夋垵鏈ˉ鈩冧繆閻愵亜鈧牠骞愰崼鏇炲瀭婵炲樊浜滅壕鍨攽閻樻彃顏ら柛瀣崌閻涱噣宕归鐓庮潛婵$偑鍊х紓姘跺础閹惰棄绠栭柨鐔哄Т閸楁娊鏌曡箛銉х?闁告瑥妫濆娲传閸曨偅娈┑鐐存綑閸婂灝鐣烽棃娑掓瀻闁规澘鐏氶鏃堟⒑缂佹ê濮堥柟顖氳嫰閳绘挸饪伴崼鐔哄幐闁诲繒鍋涙晶浠嬧€栭懖鈺冪<闁绘ê纾ú瀵糕偓娈垮櫘閸o絽鐣烽幒鎴斿牚闁告侗鍘兼潏鍛節閻㈤潧校妞ゆ梹鐗犲畷浼村冀椤撶喐娅囬梺闈涱槶閸庡搫銆掓繝姘參婵☆垯璀﹀Σ娲煛閸☆厼顩柟鍙夋倐閹囧醇濠靛懎鍨旈梻浣芥〃缁€渚€顢栨径鎰摕婵炴垶菤濡插牓鏌涘Δ鍐ㄤ粶缂佺姾顫夌换婵嬪閵忊€虫畬闂佺粯顨呴敃銉х矚鏉堛劎绡€闁搞儯鍔岄埀顒勬敱閵囧嫯绠涢幘鎰佷槐闂佺ǹ顑嗛幑鍥ь嚕閹绢喗鍋嗗ù锝堫嚃閸熷秹姊绘繝搴′簻婵炶濡囩划娆撳箣閻樺吀绗夊銈嗙墱閸嬬偤鎮¢妷鈺傜厽闁哄洨鍋涢埀顒€婀遍埀顒佺啲閹凤拷
  • 您现在的位置: 军旅同心-旅游自驾-军旅文学 >> 读书赏析 >> 学习园地 >> 电脑网络 >> 技术文章 >> 正文
    ASP.NET讲座(3)-输入验证控件
    作者:采集员 文章来源:来源于网络 点击数:1108 更新时间:2005-9-10 14:20:32

      3.1 ASP.net解决了ASP的难题:验证表单填写的正确性

      如今的商业网站,或者个人网站,多少都有客户调查啊,用户注册之类的东西,必然会用到表单,这些表单的填写正确与否,明显是由手写代码的方式来控制的。我承认编写代码,是一项有趣的工作,不过每次验证表单都来手写代码,我们希望提高我们的工作效率,并不是把我们很有限的时间花在表单的验证工作上。

      基于另外的一些原因,Web应用程序很不好验证用户的输入,HTML 3.2 规范可以让你控制用户的反馈,但恶意的或者技术高超的用户可以绕过,因此即使有了浏览器端的手写代码,服务器端同样也需要验证,才能保证安全。

      下面是微软的工作人员,给出的商业网站用手写代码控制表单验证的弊病。

      1. 尽管错误信息或图标经常与输入元素相邻,但是它们几乎总是位于表的不同单元格中。

      2. 页面中经常会有一个区域来汇总所有错误。

      3. 许多站点包含客户端脚本,以便提供更快捷的反馈,同时防止白白地在与服务器之间往返。

      4. 许多包含客户端脚本的站点在出现错误时会显示信息框。

      5. 不仅会验证文本输入,还会验证下拉列表和单选按钮。

      6. 如果某个字段为空,站点通常会显示与该条目无效时不同的信息或图标。

      7. 许多有效性检查可以很好地代替常用的表达式。

      8. 验证通常是基于两个输入之间的比较结果。

      9. 90% 或 90% 以上的验证任务是一些常见的操作,例如检查姓名或邮政编码。大多数站点似乎仍在重复进行这些工作。

      10. 因为站点之间的差别通常太大,无法获得一种完美的解决方案来处理每个站点的所有验证任务。

      如果你想向你的同事证实你有一种很"酷"的方法,可以禁止在姓名字段里面输入空值,记得选择ASP.net,并且看下面的教程。

      3.2 ASP.net进行表单验证的过程

      1. aspx文件被编译,运行

      2. 用户输入数据

      3. 触发Page_Load事件

      4. 更改Web控件属性,提示哪里没有输入

      5. 将页面用Html重新输出给用户

      6. 再次提醒用户输入

      3.3 Page_Load 过程

      Page 对象包含一些与服务器端验证有关的重要属性和方法。下表列出了Page_Load属性的所有Collect和methed。

    Page_Load方法名说明IsValid(最经常使用)这是最有用的属性。该属性可以检查整个表单是否有效。通常在更新数据库之前进行该检查。只有 Validators 集中的所有对象全部有效,该属性才为真,并且不将该值存入缓存 。Validators该页所有验证对象的集合。这是实现 IValidator 界面的对象的集合。Validate在验证时调用的一种方法。在 Page 对象上默认的执行方式是转至每个验证器,并要求各验证器自行评估。

      3.4 用来验证表单的验证器(Web控件)
    RequiredFieldValidator检查用户是否输入或选择了任何内容RegularExpressionValidator根据规则表达式检查用户输入。该过程允许进行许多种类的检查,可以用于邮政编码和电话号码等的检查。CompareValidator将输入控件与一个固定值或另一个输入控件进行比较。例如,它可以用在口令验证字段中。也可以用来比较输入的日期和数字。RangeValidator与 CompareValidator 非常相似, 只是它用来检查输入是否在两个值或其它输入控件的值之间。CustomValidator允许用户编写自己的代码以加入到验证框架中。

     

      3.5 实例说明上面所描述的控件的运作

      我们建立一个最小化的.aspx页面,我们不需要华丽的修饰效果。

    <p>请输入新的用户 ID 和口令</p>
    <form runat=server>
    <table>
     <tr>
      <td>用户 ID </td>
      <td><input type=text runat=server id=txtName></td>
     </tr>
     <tr>
      <td>口令 </td>
      <td><input type=password runat=server id=txtPWord></td>
     </tr>
     <tr>
      <td>请重新输入口令 </td>
      <td><input type=password runat=server id=txtRePWord></td>
     </tr>
    <table><br>
    <input type=submit runat=server id=cmdSubmit value=Submit>
    </form>


      程序是一个非常苛刻的东西,所以,要强调所有的项目都填写了,我们可以这样来做。在每一个字段前添加 RequiredFieldValidator。若输入字段为空,我们要在字段前显示一个星号(*),并在旁边报告错误。
    例如:

    <tr>
     <td>
      <asp:RequiredFieldValidator runat=server
         ControlToValidate=txtName
         ErrorMessage="需要用户用户名。"> *
      </asp:RequiredFieldValidator>
     </td>
     <td>User ID:</td>
     <td><input type=text runat=server id=txtName></td>
    </tr>

    若没有输入任何内容,则在标签旁边显示 "*"。出现出错消息。"ControlToValidate"属性指定了需要验证的控件ID。最后一步是向页面顶部显示所有的出错现象。

      代码:

    <asp:ValidationSummary runat=server headerText=此页有错误:/>

      然后,我们需要用户ID必须是6-10个字符,口令必须是4-12个字母,而且必须有@#$%^&*/的字符。

      代码: 这里我们增加了对ID长度的限制。

    <td>
     <input type=text runat=server id=txtName>
     <asp:RegularExpressionValidator runat=server
        ControlToValidate="txtName"
        ErrorMesage="口令必须由 6-10 个字母组成。"
        ValidationExpression="[a-zA-Z]{6,10}" />
    </td>
      接着,我们要验证两次输入的口令是否一样。

    <asp:RegularExpressionValidator runat=server display=dynamic
       ControlToValidate="txtPWord"
       ErrorMessage="口令必须包含 @#$%^&*/ 中的一个。"
       ValidationExpression=".*[@#$%^&*/].*" />
    <asp:RegularExpressionValidator runat=server display=dynamic
       ControlToValidate="txtPWord"
       ErrorMessage="口令必须是 4-12 个非空白字母。"
       ValidationExpression="[S{4,12}" />
    <asp:CompareValidator runat=server
       ControlToValidate=txtRePWord
       ControlToCompare=txtPWord
       ErrorMessage="口令不匹配。" />
      默认情况下,CompareValidator 只做简单的字符串匹配比较。如果需要,它可进行涉及日期和数字的更复杂的比较。

      3.6 几个需要注意的问题

      关于脚本库

      因为验证 Web 控件脚本在脚本库中,所以不必将所有客户端验证的代码直接发送到页面中,尽管表面上似乎是这样做的。主要的脚本文件引用类似如下所示:

    <script language="javascript"
        src="/_aspx/1.0.9999/script/WebUIValidation.js">
    </script>
      默认情况下,脚本文件将安装在 "_aspx" 目录中默认的根目录下,并使用相对于根的脚本 include 指令调用,该指令以正斜线开头。该引用表明每个单独的对象不必包含脚本库,同一台计算机上的所有页面可以引用同一个文件。您会注意到,该路径中还有一个公用的语言运行时版本号,以便不同的运行时版本可以在同一台计算机上运行。

      如果查看一下您默认的虚拟根目录,您会找到该文件并查看其中的内容。这些文件的位置在 config.web 文件中指定。config.web 文件是一个用于大多数 ASP+ 设置的 XML 文件。以下是该文件中位置的定义:

    <webcontrols
      clientscriptslocation="/_aspx/{0}/script/"
    />


      鼓励您阅读该脚本,以便深入了解发生的事件。不过,建议您不要修改这些脚本,因为它们的功能与特定的运行时版本紧密相连。在运行时版本更新时,这些脚本可能也需要相应的更新,您将或者放弃更改,或者面临脚本不工作的问题。如果特定项目必须更改这些脚本,先备份这些脚本,然后将您的项目指向备份文件,方法是使用私有的 config.web 文件替代这些文件的位置。如果字符串中包含格式指令 "{0}",运行时版本号将替换该指令。最好将该位置更改为一个相对引用或绝对引用。
      3.7 一个完整的案例

      我们现在要做一个杂志订阅系统,要用户输入Email,输入两次密码,密码要一样,密码要求安全,所以必须包括(!@#$%^&*+;:),输入用户的电话,最长20位,必须选择信用卡,输入卡号,卡号为15位,程序如下,好简单的,大家看看。


    <%
     public sub OnSubmit(source as Object, e as EventArgs)
      if Page.IsValid then
       '数据入库等操作
      end if
     end sub
    %>
    <h3><font face="Verdana">订阅时尚生活杂志</font></h3>
    <form runat=server>
     <hr width=600 size=1 noshade>
     <center>
     <asp:ValidationSummary ID="valSum" runat="server"
        HeaderText="您必须填写完整所有的选项"
        DisplayMode="SingleParagraph"
        Font-Name="verdana"
        Font-Size="12"
     />
     <p>

     <!-- sign-in -->
     <table border=0 width=600>
      <tr><td colspan=3>
      <table border=0 cellpadding=0 cellspacing=0 width="100%">
       <tr><td>
     <font face=geneva,arial size=-1><b>Sign-In Information</b>
     </font>
       </td></tr>
      </table>
      </td></tr>
        <tr>
        <td align=right>
         <font face=Arial size=2>输入您的Email</font>
                   </td>
        <td>
       <asp:TextBox id=email width=200px maxlength=60 runat=server />
        </td>
        <td>
         <asp:RequiredFieldValidator id="emailReqVal"
            ControlToValidate="email"
            ErrorMessage="您的Email. "
            Display="Dynamic"
            Font-Name="Verdana" Font-Size="12"
            runat=server>
            *
         </asp:RequiredFieldValidator>
         <asp:RegularExpressionValidator id="emailRegexVal"
            ControlToValidate="email"
            Display="Static"
            ValidationExpression=
              "^[w-]+@[w-]+.(com|net|org|edu|mil)$"
            Font-Name="Arial" Font-Size="11"
            runat=server>
         不是一个正确的Email 请输入一个正确的Email
         </asp:RegularExpressionValidator>
        </td>
       </tr>
       <tr>
        <td align=right>
         <font face=Arial size=2>密码:</font>
        </td>
        <td>
         <asp:TextBox id=passwd TextMode="password" maxlength=20
                runat=server/>
        </td>
        <td>
         <asp:RequiredFieldValidator id="passwdReqVal"
            ControlToValidate="passwd"
            ErrorMessage="密码. "
            Display="Dynamic"
            Font-Name="Verdana" Font-Size="12"
            runat=server>
            *
         </asp:RequiredFieldValidator>
         <asp:RegularExpressionValidator id="passwdRegexBal"
            ControlToValidate="passwd"
            ValidationExpression=".*[!@#$%^&*+;:].*"
            Display="Static"
            Font-Name="Arial" Font-Size="11"
            Width="100%" runat=server>
         密码必须包括下面中的一个 (!@#$%^&*+;:)
         </asp:RegularExpressionValidator>
        </td>
       </tr>
       <tr>
        <td align=right>
         <font face=Arial size=2>请再输入一次密码:</font>
        </td>
        <td>
         <asp:TextBox id=passwd2 TextMode="password" maxlength=20
            runat=server/>
        </td>
        <td>
         <asp:RequiredFieldValidator id="passwd2ReqVal"
            ControlToValidate="passwd2"
            ErrorMessage="再输入一次密码. "
            Display="Dynamic"
            Font-Name="Verdana" Font-Size="12"
            runat=server>
            *
         </asp:RequiredFieldValidator>
         <asp:CompareValidator id="CompareValidator1"
          ControlToValidate="passwd2" ControlToCompare="passwd"
          Display="Static"
          Font-Name="Arial" Font-Size="11"
          runat=server>
          两次输入的密码怎么不一样:)
         </asp:CompareValidator>
        </td>
       </tr>
        <tr><td colspan=3> </td></tr>
        <!-- personalization information -->
        <tr><td colspan=3>
         <table border=0 cellpadding=0 cellspacing=0 width="100%">
          <tr><td><font face=geneva,arial size=-1>
           <b>Personal Information</b></font>
          </td></tr>
         </table>
        </td></tr>
       <tr>
        <td align=right>
         <font face=Arial size=2>电话:</font>
       </td>
       <td>
        <asp:TextBox id="phone" maxlength=20 runat="server" />
       </td>
       <td>
        <asp:RequiredFieldValidator id="phoneReqVal"
          ControlToValidate="phone"
          ErrorMessage="Phone. "
          Display="Dynamic"
          Font-Name="Verdana" Font-Size="12"
          runat=server>
          *
        </asp:RequiredFieldValidator>
       </td>
      </tr>
      <tr><td colspan=3> </td></tr>

       <!-- Credit Card Info -->
      <tr>
       <td colspan=3>
       <font face=Arial size=2><b>Credit Card Information</b></font>
       </td>
      </tr>
      <tr>
       <td align=right>
        <font face=Arial size=2>Card Type:</font>
       </td>
       <td>
        <ASP:RadioButtonList id=ccType
           Font-Name="Arial" RepeatLayout="Flow" runat=server>
        <asp:ListItem>招商银行一卡通</asp:ListItem>
        <asp:ListItem>建设银行龙卡</asp:ListItem>
        </ASP:RadioButtonList>
       </td>
       <td>
        <asp:RequiredFieldValidator id="ccTypeReqVal"
                                             ControlToValidate="ccType"
           ErrorMessage="信用卡种类. "
           Display="Static"
           InitialValue=""
           Font-Name="Verdana" Font-Size="12"
           runat=server>
            *
        </asp:RequiredFieldValidator>
       </td>
      </tr>
      <tr>
       <td align=right>
        <font face=Arial size=2>Card Number:</font>
       </td>
       <td>
        <ASP:TextBox id=ccNum runat=server />
       </td>
       <td>
        <asp:Requi

    [1] [2] 下一页


    更多
    免责声明:作品版权归所属媒体与作者所有!!本站刊载此文不代表同意其说法或描述,仅为提供更多信息。如果您认为我们侵犯了您的版权,请告知!本站立即删除。有异议请联系我们。
    文章录入:烟灰缸    责任编辑:烟灰缸 
    高级搜索
       
    网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
        没有任何评论
    | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 网站地图 | 版权申明 | 网站公告 | 管理登录 |