Summarization
Summarization
انخطىاخ انتي تحذث ػُذ تفاػم َض تشيجي يٍ جهح انضتىٌ يغ آخش يٍ جهح انًخذّو:
ّ٠ش اٌزفبػً ث ٓ١اٌضثِٚ ْٛخذَ اٌٛة ثبٌّشاؽً اٌزبٌ١خ:
٠ -1شسً اٌزظفؼ (اٌزطج١ك اٌضث )ْٛئٌ ٝاٌّخذَ ؽٍت HTTPػجش اٌشجىخ ٘ذف اسزؼشاع طفؾخ ِؼٕ١خ ثبسزخذاَ
ِؾذد اٌّٛاسد اٌم١بسURL ٟ
٠ -2سزٍُ اٌّخذَ اٌطٍت ٠ٚجؾش ػٓ اٌٍّف اٌّطٍٛة ٌ١ؼ١ذٖ ػجش اٌشجىخ ئٌ ٝاٌزطج١ك اٌضث.ْٛ
حاالخ انتفاػم تيٍ يخذو انىية وصتىٌ انىية:
انحانح َ : 1ظىص تشيجيح يٍ جهح انضتىٌ:
رغش ٞرشعّخ ٚرٕف١ز إٌظٛص اٌجشِغ١خ اٌّؾزٛاح ف ٟاٌظفؾخ اٌّطٍٛثخ ِٓ لجً اٌضث ْٛثؼذ اسزالِٗ ٌٍظفؾخ،
انحانح – َ 2ظىص تشيجيح يٍ جهح انًخذّو :
رغش ٞرشعّخ ٚرٕف١ز إٌظٛص اٌجشِغ١خ اٌّؾزٛاح ف ٟاٌظفؾخ اٌز ٟأسسً اٌضث ْٛف ٟؽٍجٙب ِٓ ،لجً اٌّخذَ لجً
ئسسبي اٌظفؾخ،
انحانح -3ػذو إحتىاء انظفحح ػهً َظىص تشيجيح أتذاً :
( رؾ ٞٛػٍ ٝػجبساد HTMLفمؾ ) ٠شسً اٌّخذَ اٌظفؾخ اٌ ٝاٌضث ْٛاٌز٠ ٞسزؼشػٙب
يالحظح:
ّ٠ىٓ أْ رؾز ٞٛاٌظفؾخ ػٍٔ ٝظٛص ثشِغ١خ ِٓ عٙخ اٌّخذَٚ ،ػٍٔ ٝظٛص ثشِغ١خ ِٓ عٙخ اٌضثْٛ
1
يماسَح تيٍ انُظىص انثشيجيح يٍ جهح انضتىٌ ويٍ جهح انًخذّو:
-1يٍ جهح انضتىٌ:
2
يالحظح:
ٌ غخ ٌ ٟ٘ ASP.Netغخ ثشِغخ ِٓ عٙخ اٌّخ ّذَ
ٌ غخ ٌ ٟ٘ : JavaScriptغخ ثشِغخ ِٓ عٙخ اٌضثْٛ
3
اَتشاسا:
ً يخذياخ انىب األكثش
ٔ :Apache -1ظبَ ِفزٛػ اٌّظذس ٠زّزغ ٘زا اٌّخذَ ثبٌىض١ش ِٓ اٌخظبئض اٌّّ١ضح ٔزوش ِٕٙب :دػّٗ ٌٍؼذ٠ذ ِٓ
ٌغبد اٌجشِغخ ِضً ٚ perl،phpدػّٗ ٌٍجشٚرٛوٛالد ٚ TLS ٚ SSLرٛف١شٖ إلِىبٔ١بد اٌزؾىُ ثشىً طفؾبد
اٌخطأ ،ثبإلػبفخ ئٌ ٝرٛفش سِبصٖ ػٍٔ ٝؾِ ٛفزٛػ ِّب ٠سّؼ ثزط٠ٛشٖ ٚرؾسٕٗ١
ٛ٘ ٚ :IIS (Internet Information Services) -2ػجبسح ػٓ ِغّٛػخ ِٓ اٌخذِبد اٌّخظظخ ٌج١ئخ اٌٛة
ٚاٌز ٟرؼًّ ػٍٔ ٝظبَ اٌزشغ .Windows ً١رزؼّٓ إٌسخخ اٌؾبٌ١خ IIS 6.0خذِبد FTP, SMTP, NNTP,
٠ . HTTP/HTTPSؼبٔ ِٓ ٟثؼغ ٔمبؽ اٌؼؼف ٚخظٛطًب ِٓ إٌٛاؽ ٟاالِٕ١خ
٠ :Sun Java MicroSystem Web Server -3زّ١ض ٘زا اٌّخذَ ثخظبئض أِبْ ػبٌ١خٚ ،ثسٌٛٙخ اسزخذاَ
ِّب ٠غؼٍٗ ِخظظًب ٌزطج١مبد اٌؼًّ اٌّزٛسطخ ٚاٌىج١شح٠ .زٛفش اٌّخذَ ػٍ ٝأغٍت ِٕظبد اٌؼًّ ٠ ٛ٘ٚؼطٟ
اٌؼذ٠ذ ِٓ اٌّ١ضاد ٌٍزطج١مبد اٌز ٟرسزخذَ رمٕ١بد JSP ٚ JAVAوّب ٠ذػُ رمٕ١بد ASP ٚ PHP ٚ CGI
٠ ٛ٘ٚ :Zeus -4ؾزً اٌّشرجخ األ ِٓ ٌٝٚؽ١ش اٌسشػخ ٠ٚؼًّ ػٍِٕ ٝظبد Unixثّخزٍف أٔٛاػٙب
انًُارج في : XHTML
رؼشف إٌّبرط ثأٔٙب آٌ١خ رٙذف ئٌ ٝعؼً طفؾبد HTMLأوضش رفبػٍ١خٚ .رسّؼ إٌّبرط ٌّسزخذِ ٟطفؾخ اٌٛة
ثزٛص٠غ اٌج١بٔبد ػّٓ ؽمٛي ِؾزٛاح ف ٟطفؾخ ٚ HTMLئسسبي ٘زٖ اٌج١بٔبد ئٌِ ٝخذَ اٌٛة ؽ١ش رغشِ ٞؼبٌغزٙب.
يكىَاخ انًُىرج:
٠ -1زى ْٛإٌّٛرط ِٓ ؽمً ئدخبي أ ٚأوضش ّ٠.ىٓ أْ رى٘ ْٛزٖ اٌؾمٛي ،ؽمٛي ئدخبي ٔظ١خ ،أ ٚأصساس ،أِ ٚشثؼبد
اخز١بس ،أ ٚلٛائُ ،أ ٚؽز ٝخشائؾ طٛس.
-2رى ْٛػٕبطش إٌّٛرط ِؾظٛسًح ث ٓ١اٌزأش١شر>form> </form<. ٓ١
ِ -3ىٔٛبد أخشٜ
4
ػُاطش انًُىرج
انىاطفح : Method
رؾذد ٘زٖ اٌٛاطفخ أسٍٛة ئسسبي اٌج١بٔبد ٚؽش٠مخ ئسسبي ؽٍت HTTPرّ١ض ٘زٖ اٌٛاطفخ ؽبٌز:ٓ١
:Post -1ؽ١ش ٠غش ٞرٛع ٗ١اٌّزظفؼ إلسسبي اٌج١بٔبد ئٌِ ٝخذَ ٚة ػّٓ أغشاع خبطخ ٠زؼّٕٙب اٌطٍت
HTTPاٌّشسً ئٌ ٝاٌّخذَ.
: Get -2ؽبٌخ ّٔٛرط ٠سزخذَ اٌطش٠مخ ؽ١ش ٠غش ٞرٛع ٗ١اٌّزظفؼ إلسسبي اٌج١بٔبد ئٌِ ٝخذَ ٚة ػٍ ٝشىً
سٍسٍخ ِؾبسف رؼبف ئٌ ٝاٌّؾذد URLػّٓ ؽٍتHTTP
انىاطفح – :Action
-1رؾذد اٌٛاطفخ ٌٍّ Actionسزؼشع اٌؼٕٛاْ اٌز٠ ٞغت أْ رظً ئٌ ٗ١اٌج١بٔبد اٌّشسٍخ ،ئر ّ٠ىٓ أْ رى ْٛاٌمّ١خ
اٌّ َسٕذح ٌٍٛاطفخ ،ػٕٛاْ ثش٠ذ ئٌىزش ،ٟٔٚأِ ٚؾذد ٌ URLظفؾخ رؾز ٞٛػٍٔ ٝض ثشِغ ِٓ ٟعٙخ اٌّخذَ
-2رزُ ػٍّ١خ اإلسسبيٚ ،اٌٛطٛي ئٌ ٝاٌؼٕٛاْ اٌّؾذد ف ٟاٌٛاطفخ Actionػٕذ ٔمش صس اإلسسبي Submit
انىاطفح – :EncType
-1رؾذد اٌٛاطفخ ّٔ EncTypeؾ اٌزشِ١ض اٌّ َسزخذَ ػٕذ ئسسبي ث١بٔبد إٌّٛرط .رأخز ٘زٖ اٌٛاطفخ لّٙ١ب ِٓ أّٔبؽ
اٌّؼ١بس ِ ٛ٘ٚ MIMEؼ١بس ٛ٠طف أسٍٛة رشِ١ض اٌج١بٔبد
انىاطفح – :AcceptCharSet
-1رؾذد اٌٛاطفخ AcceptCharSetلبئّخ اٌّؾبسف اٌّزبػ اسزخذاِٙب ف ٟإٌّٛرطٚ ٟ٘ٚ ،اطفخ ػشٚس٠خ
خظٛطًب ف ٟإٌّبرط ِزؼذدح اٌٍغبد .رى ْٛاٌمّ١خ االفزشاػ١خ ٌٙزٖ اٌٛاطفخ UNKNOWN
-2ػٕذ اٌؾبعخ السزخذاَ أوضش ِٓ لبئّخ ِؾبسفّ٠ ،ىٓ ٚػغ ل ُ١اٌٛاطفخ اٌسبثمخ ػٍ ٝشىً لِ ُ١ززبٌ١خ ٠غشٞ
فظٍٙب ثفبطٍخ،
انىاطفح – :Target
-1رُزسزخذَ اٌٛاطفخ Targetف ٟث١ئخ اٌظفؾبد ِزؼذدح األؽش ُُ .رؼجش لّ١خ ٘زٖ اٌٛاطفخ ػٓ اسُ اإلؽبس اٌٙذف
اٌز ٞسزظٙش ف ٗ١اإلعبثخ ثؼذ ئسسبي إٌّٛرط ( ف ٟؽبي أػبد إٌض اٌجشِغ ِٓ ٟعٙخ اٌّخذَ أ ٞخشط)
-2رأخز اٌٛاطفخ Targetاٌم ُ١اٌزبٌ١خ
” :“_blankرغش ٞئػبدح خشط إٌّٛرط فٔ ٟبفزح عذ٠ذح ثذ ْٚاسُ.
” :“_selfرغش ٞئػبدح خشط إٌّٛرط ػّٓ ٔفس اإلؽبس اٌز٠ ٞؾ ٞٛإٌّٛرط.
” :“_parentرغش ٞئػبدح خشط إٌّٛرط ػّٓ اإلؽبس األة ٌإلؽبس اٌز٠ ٞؾ ٞٛإٌّٛرط.
” :“_topرغش ٞئػبدح خشط إٌّٛرط ػّٓ اإلؽبس اٌشئ١سِ ٟغ ئصاٌخ وً اإلؽبساد األخش.ٜ
5
األحذاث ONSUBMITو : ONRESET
٠ غش ٞرٕف١ز اٌؾذس ONSUBMITػٕذ اسسبي إٌّٛرط ثؼغؾ صس submit
٠ غش ٞرٕف١ز اٌؾذس ONRESETػٕذ اٌغبء ِؼٍِٛبد إٌّٛرط ثؼغؾ reset
واطفاخ أخشي:
6
انثشوتىكىل : HTTP
٘ ٛاٌجشٚرٛوٛي اٌزطج١م ٟاألسبس ٟاٌّسزخذَ ٌزٕبلً اٌج١بٔبد ػٍ ٝشجىخ األٔزشٔذ٠ٚ .ؼزّذ ٘زا اٌجشٚرٛوٛي ػٍ ٝآٌ١خ
(ؽٍت/اسزغبثخ) ث ٓ١اٌزطج١ك اٌضث( ْٛاٌّزظفؼ) ٚاٌزطج١ك اٌّخذَ (ِخذَ اٌٛة)
:POST
-1أسدٔب ئسسبي ث١بٔبد ثؾغُ وج١ش ٔسجُ١ب ِضً ٍِف أِ ٚشثغ ٔض ٠ؾز ٞٛػٍ ٝؽغُ وج١ش ِٓ اٌج١بٔبد
-2ئرا وبٔذ اٌّؼٍِٛبد اٌز٠ ٟزؼب ًِ ِؼٙب إٌّٛرط ؽسبسخ ثؾ١ش الّ٠ىٓ ئظٙبس٘ب ػّٓ ؽ١ض اٌؼٕٛاْ فٟ
اٌّسزؼشع.
7
٘زا اٌؼضي ػٍِ ٝسز ٜٛاٌزاوشح ٚاٌّؼبٌغخِٚ ،ؼٍِٛبد اٌغٍسبدٚ ،اٌزاوشح اٌخج١ئخ ٔ.ز١غخ ٌزٌه٠ ،زُ رؼش٠ف ٔطبق
رطج١ك اٌٛة ثأٔٗ ِغّٛػخ اٌظفؾبد ٚاٌٛؽذاد
8
انًجهذاخ األساسيح ػًٍ تطثيك:ASP.NET -
9
-2ػُاطش تحكى انىية:
رزشبثٗ وض١شاً ِغ ػٕبطش اٌزؾىُ ِٓ عٙخ اٌّخذَ ٌٚىٕٙب رٛفّش
ّٛٔ -رط غشػ ٟأوضش غٕ ِٓ ،ٝؽ١ش رٕٛع اٌخظبئض ٚرفبط ً١اٌزٕس١ك ٚاألّٔبؽ
-أؽذاس أوضش
-ث١ئخ رط٠ٛش ألشة ئٌ ٝرٍه اٌّسزخذِخ ف ٟرط٠ٛش رطج١مبد ِ windowsضً ػٕبطش ٚ GridView
ٚ Calendarػٕبطش اٌزؾمك ِٓ اٌظؾخ
10
انظف – :HtmlContainerControl
رشس عّ١غ ػٕبطش اٌزؾىُ اٌز ٟرزؼّٓ ط١غخ اٌزأش١شح اٌخبطخ ثٙب رأش١شح ئغالق ِضً (< >form></formأٚ
< >div></divاٌظف اٌمبػذ٠ HtmlContainerControl ٞمذَ ٘زا اٌظف خبطز ٓ١ئػبف١زّ٘ ٓ١ب:
أحذاث انتطثيك:
رسزخذَ أؽذاس اٌزطج١ك ألداء أػّبي رزؼٍك ثغّ١غ اٌظفؾبد ف ٟاٌزطج١ك ِضال ّ٠ىٓ أْ ٠ىزت سِبص رسغ ً١اٌذخٛي
ػّٓ ِمجغ ؽذس اٌزطج١ك ٌ١زُ اسزذػبؤٖ ف ٟوً ِشح ٠زُ فٙ١ب اسزمجبي ؽٍت ػٍ ٝطفؾخ ِّٙب وبٔذ رٍه اٌظفؾخ .ال
ّ٠ىٕه ِؼبٌغخ أؽذاس اٌزطج١ك ف ٟاٌشِبص ف ٟاٌخٍف١خ ٚرؾزبط إلرّبَ ٘زٖ اٌؼٍّ١خ ئٌِ ٝى ْٛعذ٠ذ ٍِ٘ ٛف
Global.asax
انًهف :Global.asax
٠سّؼ اٌٍّف ٌٕ Global.asaxب ثىزبثخ إٌض اٌجشِغٌ ٟالسزغبثخ ألؽذاس اٌزطج١ك٠ .زُ ئؽالق ٘زٖ األؽذاس أصٕبء
ِشاؽً اٌؼًّ اٌّخزٍفخ
ئْ ٍِف ِ Global.asaxشبثٗ ِٓ ؽ١ش اٌشىً ٌٍّف aspxثفشق و ْٛاألخ١ش ال ٠سزط١غ اؽزٛاء رأش١شاد HTML
أ٠ ٚ ASP.NET ٚؾز ٞٛثذال ػٕٙب ِمبثغ أؽذاس
11
ّ٠ىٓ ٌىً رطج١ك ASP.NETأْ ٠ؾٍِ ٞٛف ٚ Global.asaxؽ١ذ ٠زُ اٌزؼشف آًٌ١ب ػٍ ٚ ٗ١اسزخذاِٗ ف ٟؽبي
ٚعٛدٖ ػّٓ ِغٍذ اٌزطج١ك
12
إػذاداخ :ASP.Net
٠ؾز ٞٛوً رطج١ك ٚة ػٍٍِ ٝف web.configاٌٙذف ِٓ ٘زا اٌٍّف ٘ ٛرشى ً١اإلػذاداد األسبس١خ ٌٍزطج١ك اثزذ ًءا
ِٓ ؽش٠مخ اٌزؼبًِ ِغ سسبئً اٌخطأ ٚؽز ٝئػذاداد األِٓ اٌخبطخ ثؾغت اٌضٚاس اٌغ١ش ِشغٛة ث .ُٙالسزخذاَ
اٌٍّف ٕ٘ web.configبن اٌؼذ٠ذ ِٓ اٌّّ١ضاد أّ٘ٙب:
-1غ١ش ِغٍك :أّ٠ ٞىٓ رؾذ٠ش ٍِف اإلػذاداد ؽز ٝأصٕبء ػًّ اٌزطج١ك ؽ١ش سزؾزفع اٌطٍجبد اٌز ٟرُ اسزمجبٌٙب لجً
اٌزؼذ ً٠ثٕفس اإلػذاد ف ٟؽ ٓ١رخذَ اٌطٍجبد اٌمبدِخ ثؼذ اٌزؼذٚ ً٠فك اإلػذاد اٌغذ٠ذ.
ّ٠ -2ىٓ اٌٛطٛي ئٌٙ١ب ثسٌٛٙخ ٔ ٚسخٙبِ :ضال ّ٠ىٓ اٌٛطٛي ئٌٙ١ب ػجش ؽبست ثؼ١ذ ف ٟؽبي رٛفشد اٌظالؽ١بد
إٌّبسجخ ،وّب ّ٠ىٓ ٔسخٙب ثغشع رطج١مٙب ػٍ ٝرطج١ك آخش.
ّ٠ -3ىٓ فِ ُٙؾزٛا٘ب ٚرؾش٠ش٘ب ثسٌٛٙخ :رؼزجش اإلػذاداد اٌّسزخذِخ لبثٍخ ٌٍمشاءح اٌّجبششح ِٓ اٌّطٛس ثسٌٛٙخ وّب
ّ٠ىٓ رؼذٍٙ٠ب ثٛاسطخ أِ ٞؾشس ٔظٛص ػبد ٞد ْٚاٌؾبعخ ئٌ ٝأدٚاد رشى ً١خبطخ
يهف :Web.config
٠سزخذَ ٘زا اٌٍّف رٕس١ك XMLثزأش١شاد ِسجمخ اٌزؼش٠ف .وبًِ ِؾز ٜٛاٌٍّف ِزؼّٓ داخً رأش١شح اٌغزس
>ٛ٠ <configurationعذ داخً ٘زٖ اٌؼٕظش ِغّٛػخ ِٓ األلسبَ اٌفشػ١خ ،ثؼؼٙب ٕ٠ذس رغ١١شٖ ٚاٌجؼغ ا٢خش
٘بَ عذًا ٠ٚسزخذَ ثىضشح.
13
ػىػا ػٍ ػُاطش تحكى؟ :
ً نًارا يجة أٌ َُتمم إنً استخذاو ػُاطش تحكى وب
14
طفىف ػُاطش تحكى وب انشئيسيح:
٠ؾز ٞٛاٌغذٚي اٌزبٌ ٟلبئّخ ثظفٛف ػٕبطش رؾىُ ٚة األسبس١خ ٚرأش١شاد HTMLاٌزٌّٛ٠ ٟذ٘ب
15
فيًا يهي شكم يثيٍ تسهسم يؼانجح ػًهيح إػادج إسسال انظفحح تغشع تحذيذ انًشحهح انتي يتى ػُذها ظهىس كم
حذث يٍ األحذاث:
16
كيف يؼًم حذث :Postback -
رم ASP.NET َٛثز١ٌٛذ سِبص ِٓ javascriptعٙخ اٌضث ٚ ْٛرٕشأ داٌخ خبطخ ثبسُ ٌ _doPostBackزأِ ٓ١ػٍّ١خ
ئسسبي اٌظفؾخ .اٌشِبص
17
انكؼكاخ – : cookies
٠ؼذ اسزخذاَ اٌىؼىبد أؽذ اٌطشق األخش ٜاٌشبئؼخ ٌؾفع اٌؾبٌخ ,رسبػذ اٌىؼىبد ػٍ ٝرخض ٓ٠اٌّؼٍِٛبد صُ ئػبدح
اسزخذاِٙب.
اٌىؼىبد ٘ ٟػجبسح ػٓ ٍِفبد طغ١شح ٠زُ ئٔشبؤ٘ب ػٍ ٝاٌمشص اٌظٍت ٌٍضث( ْٛأ ٚػّٓ اٌزاوشح اٌّإلزخ ٌّسزؼشع
اٌٛة) ِٓ .أُ٘ اٌّ١ضاد ف ٟاٌىؼىبد:
• وٙٔٛب رؼًّ ثشىً شفبف د ْٚػٍُ اٌّسزخذَ ثبٌّؼٍِٛبد اٌز ٟرؾزبط ئٌ ٝرخضٓ٠
• ئِىبٔ١خ اسزخذاِٙب ِٓ لجً أ ٞطفؾخ ػّٓ اٌزطج١ك
• االؽزفبظ ثٙب ٠زُ ٌفزشح أؽٛي ِّب ٠سّؼ السزخذاِٙب ف ٟرخض ٓ٠اٌّؼٍِٛبد ث ٓ١اٌض٠بساد ثّذ ٜأؽٛي
أِب ػٛ١ة ٘زٖ اٌطش٠مخ ف ٟٙرّبصً رٍه اٌّزؼٍمخ ثبسزخذاَ سٍسٍخ ِؾبسف االسزؼالَ ثّؼٕ:ٝ
• ئِىبٔ١خ اٌزؼبًِ ِغ سالسً اٌّؾبسف اٌجس١طخ فمؾ
• ّ٠ىٓ اٌٛطٛي ئٌٙ١ب ٚلشاءرٙب ِٓ لجً اٌّسزخذَ
18
19
ػُاطش تحكى انتحمك:
ّ٠ىٓ ٌٍّسزخذَ أْ ٠شرىت أخطب ًءا أصٕبء اٌزؼبًِ ِغ اٌزطج١ك وأْ ٠م َٛة:
-ئّ٘بي ئدخبي لّ١خ ف ٟأؽذ اٌؾمٛي ػّٓ إٌّٛرط.
-ئدخبي ثش٠ذ اٌىزش ٟٔٚغ١ش طبٌؼ.
-ئدخبي لّ١خ غ١ش ػذد٠خ ف ٟؽمً ِخظض ٌمّ١خ ػذد٠خ.
-لذ ٠مِ َٛسزخذَ ثبسزغالي ٔمطخ ػؼف ػّٓ اٌشِبص اٌخبص ثبٌزطج١ك ٠ٚم َٛثادخبي ِؼٍِٛبد ِغٍٛؽخ
ث١ٙىٍ١خ ِؾذدح ثؾ١ش رإد ٞئٌ ٝئػبدح ِؼٍِٛبد ؽسبسخ.
20
انتحمك يٍ جهح انًخذو:
ّ٠ىٓ اسزخذاَ ػٕبطش رؾىُ اٌزؾمك ثشىً أٌٌٍ ٟزؾمك ِٓ طفؾخ ػٕذ ئسسبٌٙب أ ٚثشىً ٠ذ ٞٚػّٓ إٌض اٌجشِغ.ٟ
ػٕذ اسزخذاَ اٌزؾمك ثشىً آٌ٠ ٟم َٛاٌّسزخذَ ثادخبي اٌّؼٍِٛبد ػّٓ ػٕبطش رؾىُ اإلدخبي ٚؽبي أزٙبئٗ ٠مَٛ
ثاسسبي اٌّؼٍِٛبد ثبٌٕمش ػٍ ٝصس إلسسبي اٌظفؾخّ٠ .زٍه وً صس اٌخبطخ ٚ CausesValidationاٌز ٟرأخز اٌمّ١خ
trueأ٠ . false ٚؼزّذ اٌسٕ١بس ٛ٠إٌبرظ ػٓ ٔمش اٌّسزخذَ ػٍ ٝصس اإلسسبي ػٍ ٝلّ١خ اٌخبطخ
CausesValidation:
-ف ٟؽبي وبٔذ لّ١خ ٘زٖ اٌخبطخ falseرم ASP.NET َٛثاّ٘بي ػٕبطش اٌزؾمك ِٓ اإلدخبي اٌّشرجطخ
ثؼٕظش ٠زُ اإلدخبي ،ئسسبي اٌظفؾخ ٚرٕف١ز اٌشِبص اٌخبص ثّمجغ ؽذس اإلسسبي ثشىً ؽج١ؼٟ
-أِب ف ٟؽبي وبٔذ لّ١خ اٌخبطخ trueرم ASP.NET َٛآًٌ١ب ثزم ُ١١اٌظفؾخ ػٕذ إٌمش ػٍ ٝصس اإلسسبي ؽ١ش
رم َٛثبٌزؾمك ِٓ وً ػٕظش ػٍ ٝاٌظفؾخ .ئرا فشً اٌزؾمك ِٓ أ ٞػٕظش رؾىُ سزؼبد اٌظفؾخ ِغ ِؼٍِٛبد
اٌخطأ ٚثؾست اإلػذاداد اٌخبطخ ثاظٙبس أخطبء اإلدخبي ف ٟوً ػٕظش رؾىُ .ف٘ ٟزٖ اٌؾبٌخ لذ ال ٠زُ
رشغ ً١اٌشِبصاٌخبص ثّمجغ ؽذس اإلسسبيٌ ،زٌه الثذ ِٓ اٌزأوذ ػّٓ ِمجغ اٌؾذس ِٓ ٔغبػ ػٍّ١خ
اٌزؾمك أ ٚفشٍٙب
ثٕبء ػٍ٘ ٝزا اٌٛطف ٔذسن أْ ػٍّ١خ اٌزم ُ١١رزُ ثشىً آٌ ٟػٕذ ػغؾ األصساس ١ٌٚس ػٕذ ئػبدح ئسسبي
اٌظفؾخ ِٓ خالي ؽذس changeأ ٚػٕذ ػغؾ األصساس اٌز ٟرى ْٛفٙ١ب لّ١خ اٌخبطخ false
21
انخظائض انفشيذج نؼُاطش تحكى انتحمك:
ػٕذ اسزخذاَ ػٕبطش رؾىُ اٌزؾمك ال ثذ ِٓ ئػطبء لّ١خ ٌٍخبطخ ٚ ControlToValidateاٌخبطخ
ErrorMessageوّب رزفشد ػٕبطش رؾىُ اٌؾمك ثخظبئض فش٠ذح رخزٍف ثٙب ػٓ ثم١خ اٌؼٕبطش ٔٛػؾٙب ف ٟاٌغذٚي
اٌزبٌٟ
22
رؼزّذ ػٕبطش رؾىُ اٌزؾمك ػٍ ٝفؼبء األسّبء ٚ System.Web.UI.WebControlsرم َٛثبٌٛساصخ ِٓ اٌظف
٠ ٚ BaseValidator.ؼشف اٌظف ِ BaseValidatorغّٛػخ ِٓ اٌخظبئض ٚاٌٛظبئف ٔٛػؾٙب ف ٟاٌغذٚي
اٌزبٌ:ٟ
23
إداسج انثياَاخ في :ASP.NET
٠شرجؾ ِف َٛٙئداسح اٌج١بٔبد ثّظبدس اٌج١بٔبد اٌؼالئم١خ ِضً لٛاػذ اٌج١بٔبدٌٚ ،ىٓ رمٕ١بد ئداسح اٌج١بٔبد فNET. ٟ
رمذَ ئِىبٔ١بد أخشِ ٜزّ١ضح ِٕٙب :االرظبي ٚاٌزؼبًِ ِغ ٍِفبد ٚXMLاٌزمٕ١بد اٌّشرجطخ ثٙب.
فؼاء األسًاء
24
ٕ٘بن أ٠ؼً ب سٍسٍخ ِٓ فؼبءاد األسّبء اٌؾب٠ٚخ ػٍ ٝطفٛف ّ٠ىٓ اسزخذاِٙب ٌٍزؼبًِ ِغ ٍِفبد XMLثذ
ال ِٓ اسزخذاَ لٛاػذ اٌج١بٔبد اٌؼالئم١خ ،رى٘ ْٛزٖ األسّبء ِجٕ١خ ػٍ.System.Xmlٝ
25
٠ىّٓ اٌفشق اٌشئ١س ٟف ٟأْ اٌغشع ٠ DataReaderسبػذ ف ٟاٌٛطٛي ئٌ ٝاٌج١بٔبد ثبرغبٖ ٚاؽذ ٌٍ ٚمشاءح فمؾ .فٟ
ؽٛ٠ ٓ١فش اٌغشع Datasetآٌ١خ ٌٍزؼبًِ ِغ أوضش ِٓ ِغّٛػخ ِٓ اٌظفٛف ِٓ ٔفس ِظذس اٌج١بٔبد ،ؽ١ش ّ٠ىٕٕب
ئٔشبء غشع ِٓ DataSetث١بٔبد ِٛعٛدح ػّٓ ِظذس اٌج١بٔبد ،أٍِ ِٓ ٚئٙب ثظٛسح ِجبششح طف رٍ ٛا٢خش
ثبسزخذاَ إٌض اٌجشِغ.ٟ
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
انخةء في ASP.NET
رّذ اٌؼذ٠ذ ِٓ اٌزط٠ٛشاد ػٍ ٝاٌختء فِٕ ASP.NET ٟز إٌسخ األ ٌٝٚؽ١ش رّذ ص٠بدح فؼبٌ١خ اٌّضا٠ب -
اٌّؼّٕخ ف٘ ٟزٖ ا١ٌ٢خ ثشىً ٠شفغ األداء ف ٟثؼغ اٌسٕ١بس٘ٛ٠بد ثشىً وج١ش.
٠سزخذَ اٌختء ػبدح ٌزخض ٓ٠اٌّؼٍِٛبد اٌز٠ ٟزُ االسزؾظبي ػٍٙ١ب ِٓ لبػذح اٌج١بٔبد ٌغشع رٛف١ش اٌٛلذ
اٌالصَ إلػبدح اسزؼبدرٙب ف ٟوً ِشح.
ّ٠ىٓ ثؼٍّ١خ ػجؾ ٌألداء ثبسزخذاَ اٌختء رخف١غ اٌؼتء ٌٍؾذ األدٔ ،ٝؽ١ش س١زُ اٌؾظٛي ػٍ ٝثؼغ -
اٌّؼٍِٛبد اٌّطٍٛثخ ِٓ راوشح اٌختء ػٛػًب ػٓ ئػبدح االسزؼالَ ػٕٙب ِٓ لبػذح اٌج١بٔبد.
ٌ١سذ ػٍّ١خ رخض ٓ٠اٌّؼٍِٛبد ػّٓ اٌزاوشح دائ ًّب فىشح ع١ذح .ئْ راوشح اٌّخذَ ِ٘ٛ ٟسد ِؾذٚد ،سزإدٞ -
اٌّجبٌغخ ف ٟاسزخذاِٙب ئٌ ٝرخض ٓ٠األعضاء اٌفبئؼخ ػٍ ٝاٌمشص اٌظٍت ِّب س١مٛد إٌظبَ وبَ ًُ ال ئٌ ٝؽبٌخ
ِٓ أخفبع ف ٟاألداء.
ٌٙزا رُ اٌؼًّ ػٍ ٝعؼً رمٕ١خ اٌختء ف ASP.NET ٟرار١خ اٌّؾذٚد٠خ .ؽ١ش غبٌجًب ِب ٠زُ رٛف١ش اٌّؼٍِٛبد اٌزٟ -
٠زُ خجإ٘ب ػّٓ راوشح اٌّخذَ.
٠ظً صِٓ االؽزفبظ ثٙزٖ ااٌّؼٍِٛبد ػّٓ ئداسح اٌّخذَ .فارا اِزألد راوشح اٌّخذَ أ ٚؽظً اسزٙالن وج١ش -
ٌٍزاوشح ِٓ لجً اٌزطج١مبد اٌؼبٍِخ سززُ ػٍّ١خ ئخالء اططفبئ١خ ٌزاوشح اٌختء ٚسززبثغ اٌزطج١مبد ػٍّٙب ثأداء
ع١ذ.
46
يتً َستخذو انخةء
٠ ىّٓ اٌسش األسبس ٟف ٟاالسزفبدح األػظّ١خ ِٓ اٌختء ف ٟاخز١بس اٌضِٓ إٌّبست السزخذاِٙب.
ِٓ اسزشار١غ١بد اٌختء إٌبعؼ اٌزشو١ض ػٍ ٝرخض ٓ٠اٌّؼٍِٛبد األوضش اسزخذا ًِب ٚاٌز ٟرسزٍٙه صِٓ وج١ش
ٔسجً١ب إلٔشبئٙب ٚرخضٕٙ٠ب.
ئْ ختء ِؼٍِٛبد غ١ش ِّٙخ ٔسجً١ب لذ ٠إد ٞئٌ ٝئعجبس ئخالء ِؼٍِٛبد أوضش أّ٘١خ.
ٕ٘ بن ٔمطز ٓ١أسبس١زٕ٠ ٓ١ظؼ ثّشاػبرّٙب ػٕذ اسزخذاَ اٌختء:
لُ ثختء اٌج١بٔبد ػبٌ١خ اٌىٍفخ.
لُ ثختء اٌج١بٔبد اٌّسزخذِخ ثىضشح.
ّ٠ ىٓ ثّشاػبح ٘بر ٓ١إٌمطز ٓ١اٌٛطٛي ئٌ ٝأداء أػٍ ٚ ٝلبثٍ١خ أوجش ٌٍزٛسغ.
نهخةء في َ ASP.NETىػاٌ أساسياٌ:
-1ختء اٌخشط ٛ٘ٚ:أثسؾ أشىبي اٌختء ٠.زُ االؽزفبظ ف٘ ٟزا إٌٛع ِٓ اٌختء ثٕسخخ ػٓ طفؾخ HTML
اٌز ٟرُ رظ١١ش٘ب ٚئسسبٌٙب ئٌ ٝاٌضث.ْٛ
-2ختء اٌج١بٔبد :رزُ ٘زٖ اٌؼٍّ١خ ٠ذً٠ٚب ػّٓ اٌشِبص اٌز٠ ٞىزجٗ اٌّطٛس .ؽ١ش ٠زُ رخض ٓ٠األعضاء اٌٙبِخ ِٓ
اٌّؼٍِٛبد اٌز ٟرسزٍٙه ٚلزًب إلٔشبئٙب ٠.ؼزجش ختء اٌج١بٔبد ِٓ ؽ١ش اٌّفِ َٛٙشبثًٙب ٌؾبٌخ اٌزطج١ك ٌىٕٗ ٠ؼزجش
ؽً أفؼً ثىض١ش ِٓ ٚعٙخ ٔظش اٌزأص١ش ػٍ ٝأداء اٌّخذَ.
ٕ٘بن أ٠ؼً ب ٔٛػبْ خبطبْ ِٓ اٌختء ّ٠ىٓ اسزخذاِّٙب ثبالػزّبد ػٍ ٝإٌٛػ ٓ١اٌشئ١س ٓ١١أػالٖ:
-اٌختء اٌغضئ٠: ٟؼذ ٘زا إٌٛع ِٓ اٌختء ؽبٌخ خبطخ ِٓ ختء اٌخشط ؽ١ش ٠زُ رخض ٓ٠أعضاء ِٓ خشط طفؾخ
HTMLاٌّشسً ئٌ ٝاٌضث ْٛػٛػًب ػٓ ختء وبًِ اٌظفؾخ.
-ختء ِظبدس اٌج١بٔبد ٠:ؼجش ٘زا إٌٛع ِٓ اٌختء ػٓ اٌمذسح اٌّج١زخ ٌذ ٜػٕبطش رؾىُ اٌج١بٔبد ِضً
ObjectDataSource ٚ XMLDataSource ٚ SqlDataSourceػٍ ٝختء اٌج١بٔبد ٠.سزخذَ ٘زا إٌٛع
ِٓ اٌختء ،ػٍّ١ب ً،ؽش٠مخ ختء اٌج١بٔبد ٠.ىّٓ االخزالف ف ٟأْ اٌّطٛس ٌ١س ثؾبعخ أْ ٠ؼبٌظ اٌؼٍّ١خ ثشىً
طش٠ؼ ئر ٠ىف ٟئػذاد اٌخظبئض إٌّبسجخ ٌ١م َٛػٕظش رؾىُ ِظذس اٌج١بٔبد ثاداسح ػٍّ١خ ختء ،رخضٓ٠
ٚاسزؼبدح اٌج١بٔبد رٍمبئً١ب.
47
خةء انخشج
٠ -زُ ف٘ ٟزا إٌٛع وّب روشٔب ختء وبًِ طفؾخ ٚ HTMLػٕذ ؽٍت اٌظفؾخ ِشح أخش ٌٓ ٜرزُ ئػبدح ئٔشبء
أغشاع ػٕبطش اٌزؾىُ أ ٚئػبدح دٚسح ؽ١بح اٌظفؾخ ِٓ عذ٠ذ وّب ٌٓ ٠زُ رٕف١ز أ ٞسِبص ثً س١زُ ئػبدح ئسسبي
إٌسخخ اٌّخضٔخ ِٓ اٌظفؾخ ئٌ ٝاٌضث.ْٛ
ٌٕ -زّىٓ ِٓ سؤ٠خ ػًّ ختء اٌخشط سٕم َٛثجٕبء طفؾخ ثس١طخ رظٙش اٌٛلذ اٌؾبٌ ٟوّب ِ٘ٛ ٛػؼ ف ٟاٌشىً
48
انخةء يٍ ؽشف انضتىٌ
أؽذ اٌخ١بساد اٌّزٛفشح ٌٍّطٛس ٘ ٟاٌختء ِٓ ؽشف اٌضث.ْٛ -
ف٘ ٟزٖ اٌؾبٌخ ٠م َٛاٌّسزؼشع ثزخضٔ ٓ٠سخخ ِٓ اٌظفؾخ .رسزخذَ ٘زٖ إٌسخخ ػٕذ ػٛدح اٌضث ْٛئٌ ٝاٌظفؾخ أٚ -
ػٕذ ئػبدح وزبثخ اسّٙب ػّٓ شش٠ؾ اٌؼٕٛاْ.
س١زُ ئّ٘بي إٌسخخ اٌّخضٔخ ػٍ ٝاٌضث ْٛف ٟؽبي ػغؾ اٌضس ٚ Refreshس١ؼبد ؽٍت اٌظفؾخ ِٓ اٌّخذَ. -
ّ٠ىٓ ختء طفؾخ ِٓ ؽشف اٌضث ْٛثبسزخذاَ اٌٛاطفخ Locationػّٓ اٌّٛعٗ ٚ OutputCacheاٌز ٟرؾذد -
لّ١خ ِٓ اٌزشلSystem.Web.UI.OutputCacheLocation ُ١
49
٠ -غت أْ ٠ؼبف اٌشِبص اٌزبٌ ٟئٌ ٝأػٍ ٝاٌظفؾخ اٌّشاد ختء ٔسخ ِٕٙب:
"<%@ OutputCache Duration="10" VaryByParam="None
>VaryByCustom="Browser" %
انخةء انجضئي
٠ -ىزشف اٌّطٛس ف ٟثؼغ األؽ١بْ أٔٗ ٌٓ ٠ى ْٛثاِىبٔٗ ختء وبًِ اٌظفؾخ ٌزٌه ٍ٠غأ ئٌ ٝختء اٌغضء رٚ
اٌزؼم١ذ األػٍٚ ٝاألوضش وٍفخ ِٓ ؽ١ش صِٓ اٌجٕبء ٚاٌزخض ٚ ٓ٠اٌز ٟال رزغ١ش ثشىً وج١ش ٔسجً١ب.
ٌٕ -زّىٓ ِٓ اسزخذاَ اٌختء اٌغضئ ٟػٍٕ١ب ثٕبء ػٕظش رؾىُ ِخظض ٠ؾز ٞٛاٌغضء اٌّشاد خجئٗ ِٓ اٌظفؾخ .
ّ٠ىٓ ثؼذ ٘زا ئػبفخ اٌّٛعٗ OutputCacheئٌ ٝػٕظش اٌزؾىُ اٌّخظض.
-ال ٠خزٍف ِف َٛٙاٌختء اٌغضئ ٟػٓ اٌّف َٛٙاٌؼبَ ٌختء اٌظفؾخ ثفشق ٚاؽذ ٘ ٛأْ اٌظفؾخ ٌٓ رسزط١غ
اٌزفبػً ِغ ِؾز ٜٛػٕظش اٌزؾىُ اٌز ٞرّذ اسزؼبدرٗ ِٓ راوشح اٌختء.
-فارا ٚفش ػٕظش اٌزؾىُ اٌز ٞرُ خجئٗ ػٍ ٝسج ً١اٌّضبي ِغّٛػخ ِٓ اٌخظبئض٠ ٌٓ ،زّىٓ سِبص اٌظفؾخ ِٓ
اٌٛطٛي ئٌ ،ٝأ ٚرؼذ٘ ،ً٠زٖ اٌخظبئض.
-سززُ ئػبفخ وزٍخ HTMLاٌّخضٔخ وّب ٘ ٟػّٓ اٌظفؾخ.
إػذاداخ انخةء
-أؽذ اٌّشبوً األسبس١خ ٌختء اٌخشط ٘ ٟػشٚسح رؼّ ٓ١اٌزؼٍّ١بد ػّٓ اٌغضء اٌؾب ٞٚػٍ ٝاٌزأش١شاد فٟ
ٍِفبد aspxأ ٚاٌشِبص اٌخبص ثبٌظف.
ِ -غ أ ْ ٘زٖ اٌطش٠مخ ٌ١سذ س١ئخ ،رظجؼ اٌّشىٍخ أوضش رؼم١ذًا ف ٟؽبي وبْ ػذد اٌظفؾبد اٌز٠ ٟزُ رفؼً١
اٌختء فٙ١ب وج١شً ا.
-ػٕذ٘ب رظجؼ ػٍّ١خ رغ١١ش اإلػذاداد اٌخبطخ ثبٌختء ف ٟوً اٌظفؾبد ػٍّ١خ ِش٘مخ.
-رزؼّٓ ١ِ ASP.NETضح رذػ .cache profile ٝرّىٓ ٘زٖ اٌخبطخ ِٓ رؼش٠ف ئػذاداد اٌختء ٌّغّٛػخ
ِٓ اٌظفؾبد ػّٓ ٍِف web.configػٕذ٘ب ّ٠ىٓ سثؾ ٘زٖ اإلػذاداد ِغ ػذد وج١ش ِٓ اٌظفؾبد.
٠ -ىفٌ ٟزؼذ ً٠ئػذاداد اٌختء ٌغّ١غ اٌظفؾبد رؼذ ً٠اإلػذاداد ِٓ ػّٓ ٍِف .web.config
ٌ -زؼش٠ف ئػذاداد ختء ٔم َٛثبسزخذاَ اٌزأش١شح > <addػّٓ اٌمسُ ><outputCacheProfiles
خةء انثياَاخ
٠ -ؼزجش ٘زا اٌشىً ِٓ أشىبي اٌختء أوضش األشىبي ِشٔٚخ ٌ ،ىٕٗ ٠زطٍت خطٛاد ئػبف١خ ػّٓ إٌض
اٌجشِغ.ٟ
-اٌفىشح األسبس١خ ف ٟختء اٌج١بٔبد أْ ٠م َٛاٌّطٛس ثشىً طش٠ؼ ثاػبفخ اٌمٚ ُ١األغشاع اٌز ٟرؼزجش ػٍّ١بد
ئٔشبئٙب ،رخضٕٙ٠ب ِىٍفخ ئٌ ٝغشع ِغّٛػخ ِج١ذ ٠ذػ.Cache ٝ
50
-اٌغشع ٛ٘ Cacheأؽذ خظبئض طف .Pageؽ١ش رؼ١ذ ٘زٖ اٌخبطخ ِض ِٓ ً١اٌظف
System.Web.Caching.Cache
٠ -ؼًّ ٘زا اٌغشع ثشىً ِشبثٗ ٌغشع اٌزطج١ك Applicationاٌز ٞلّٕب ثبسزؼشاع ػٍّٗ ػّٓ اٌغٍسخ
اٌخبطخ ثاداسح ؽبٌخ اٌزطج١ك.
٠ -خزٍف غشع Cacheػٓ غشع Applicationثضالس ٔمبؽ أسبس١خ:
٠ ذػُ غشع Cacheاٌطٍجبد اٌّزضإِخ :ثّؼٕ ٝأٔٗ ال ػشٚسح ٌؼٍّ١خ ئلفبي ٚئٌغبء ئلفبي اٌغشع Cache
ثشىً طش٠ؼ ػٕذ ئػبفخ ،ئصاٌخ أ ٚرؼذ ً٠ػٕظش.
٠ زُ ئصاٌخ اٌؼٕبطش ِٓ راوشح اٌختء ثشىً آٌ.ٟ
دػُ اٌؼٕبطش اٌّشرجطخ :إٔ٘ ٞبن ئِىبٔ١خ ٌشثؾ اٌؼٕبطش ف ٟراوشح اٌختء ثٍّف ،عذٚي ف ٟلبػذح اٌج١بٔبد
أ ٚأّٔ ٞؾ آخش ِٓ اٌّٛاسد .ف ٟؽبي رؼذ ً٠أ ِٓ ٞاٌّٛاسد اٌّشرجطخ سزؼزجش اٌؼٕبطش اٌّخضٔخ ف ٟراوشح
اٌختء ٚاٌّشرجطخ ثٗ ِٕز١ٙخ اٌظالؽ١خ.
إػافح ػُاطش إنً غشع Cache
51
انخةء تغشع تىفيش أكثش يٍ يشهذ
٠ -زُ ف ٟاٌّضبي اٌزبٌ ٟرخض ٓ٠غشع DataSetػّٓ راوشح اٌختء.
ٛ٠ -فش ٘زا اٌغشع ِظذس اٌج١بٔبد ٌؼٕظش رؾىُ GridViewثبػزّبد ختء غشع Datasetػٛػًب ػٓ
ختء ػذد وج١ش ِٓ اٌّشب٘ذ اٌز ٟرٕزظ ػٓ ػٍّ١خ رخظ١ض اٌغشع GridViewوؼشع أػّذح ِؾذدح
فمؾ.
52
انخةء يغ وجىد يىاسد يشتثطح
-لذ ٠زغ١ش ِؾزِ ٜٛظذس اٌج١بٔبد ِغ ِشٚس اٌضِٓٚ ،لذ ٠زُ اسزؼّبي ٔسخخ لذّ٠خ ِٓ اٌّؼٍِٛبد دِ ْٚؼشفخ.
-رذػُ ِ ASP.NETب ٠سّ ٝاٌختء اٌّشرجؾ ُّ ُ٠.وٓ ٘زا إٌّؾ ِٓ اٌختء ِٓ سثؾ ػٕظش ػّٓ راوشح اٌختء
ِغ أؽذ اٌّٛاسد ثؾ١ش ِب ٠سّ ٝاٌختء اٌّشرجؾ ُّ ُ٠.وٓ ٘زا إٌّؾ ِٓ اٌختء ِٓ سثؾ ػٕظش ػّٓ راوشح
اٌختء ِغ أؽذ اٌّٛاسد ثؾ١ش ٠زُ ئصاٌخ إٌسخخ اٌّخجأح ٚاػزجبس٘ب ِٕز١ٙخ اٌظالؽ١خ ػٕذ أ ٞرغ١١ش ػٍ٘ ٝزا
اٌّٛسد.
-رٛف ASP.NETصالصخ أٔٛاع ِٓ اٌختء اٌّشرجؾ:
-1اٌشثؾ ِغ ػٕظش آخش ػّٓ راوشح اٌختء
-2اٌشثؾ ِغ ٍِف أِ ٚغٍذ
-3اٌشثؾ ِغ اسزؼالَ ِٓ لبػذح اٌج١بٔبد
االستثاؽ تانًهفاخ
-السزخذاَ اٌختء اٌّشرجؾ ٔسزؼًّ اٌغشع .CacheDependency
-ػٍ ٝسج ً١اٌّضبي ٠م َٛاٌشِبص اٌزبٌ ٟثأشبء اسرجبؽ ِغ ٍِف XMLثبسُ .ProductList.xml
انخةء انًشتثؾ تؼُظش آخش ػًٍ راكشج انخةء
ٛ٠ -فش اٌغشع ِ CacheDependencyش١ذ ٠مجً ِظفٛفخ ِٓ أسّبء اٌٍّفبد ِٚظفٛفخ ِٓ ِفبر١ؼ اٌختء.
ّ٠ -ىٓ ثبسزخذاَ ِظفٛفخ ِفبر١ؼ اٌختء ئٔشبء اسرجبؽ ث ٓ١ػٕظش ػّٓ راوشح اٌختء ٚػٕظش آخش ِخضْ ػّٓ
٘زٖ اٌزاوشح.
53
54
55