Professional Documents
Culture Documents
net
اﻟﺠﺰء اﻷول
ﺗﺄﻟﻴﻒ ﻭﺇﻋﺪﺍﺩ
ﺁﻭﺍﺯ ﺷﻴﺨﻲ
Ramanooo@hotmail.com
ﯾﺘﻜﻮن اﻟﻜﺘﺎب ﻣﻦ ﺛﻼث أﺟﺰاء ﻓﻲ ﻛﻞ ﺟﺰء ﻣﻨﮫ ﯾﺤﺘﻮي ﻋﻠﻰ ﻣﺠﻤﻮﻋﺔ ﺗﻤﺎرﯾﻦ ﻋﻦ اﺳﺘﺨﺪام ﻋﻨﺎﺻﺮ اﺟﺎﻛﺲ ﻓﻲ
ﺑﯿﺌﺔ اﻟﻌﻤﻞVisual .NET 2008ﯾﺘﻢ ﺷﺮﺣﮭﺎ ﺑﺎﻟﺼﻮر وﺑﺎﻟﺘﻔﺼﯿﻞ،وذﻟﻚ ﻟﺘﺤﻘﯿﻖ اﻻﺳﺘﻔﺎدة اﻷﻛﺒﺮ ﻣﻦ اﻟﻜﺘﺎب ﺣﯿﺚ
ﯾﺘﻌﻠﻢ اﻟﻄﺎﻟﺐ اﻟﻌﺪﯾﺪ ﻣﻦ اﻟﻤﮭﺎرات اﻟﻤﺘﻘﺪﻣﺔ ﻓﻲ ﺗﺼﻤﯿﻢ وﺑﺮﻣﺠﺔ ﺻﻔﺤﺎت اﻟﻮب ﻣﻊ اﺳﺘﺨﺪام ﻋﻨﺎﺻﺮ اﺟﺎﻛﺲ ،ﯾﺘﻌﻠﻢ
اﻟﻄﺎﻟﺐ أﯾﻀﺎ ﺑﻌﺾ اﻟﻤﮭﺎرات اﻷﺧﺮى ﻓﻲ ﺗﻨﺴﯿﻖ اﻟﺼﻔﺤﺎت ﺑﺎﺳﺘﺨﺪام Style Sheetوإﻧﺸﺎء ﺻﻔﻮف ﺑﺮﻣﺠﯿﺔ
Classواﺳﺘﺨﺪام أدوات Standard ASP.netواﻟﺘﻌﺎﻣﻞ ﻣﻊ ﻟﻐﺎت اﻟﺒﺮﻣﺠﺔ C#وﻟﻐﺔ VBﻓﻲ اﺳﺘﺨﺪاﻣﮭﺎ ﻟﺤﻞ
اﻟﺘﻤﺎرﯾﻦ اﻟﻤﺘﻨﻮﻋﺔ اﻟﻤﻮﺟﻮدة داﺧﻞ اﻟﻜﺘﺎب ﻓﻲ ﻛﺎﻓﺔ أﺟﺰاﺋﮫ ،ﻓﯿﻤﻜﻦ ﻟﻠﺸﺨﺺ اﻟﻤﺒﺘﺪئ واﻟﻤﺘﻘﺪم اﻟﺒﺪء ﺑﺎﺳﺘﺨﺪام ھﺬا
اﻟﻜﺘﺎب ﻓﻄﺮﯾﻘﺔ ﺗﺼﻤﯿﻤﮫ وإﻋﺪاده ﺳﮭﻠﺔ وﺑﺴﯿﻄﺔ،ﺣﯿﺚ ﯾﻤﻜﻦ ﻟﻠﻤﺒﺘﺪئ إن ﯾﺤﻞ ﺗﻤﺎرﯾﻨﮭﺎ ﺑﺴﮭﻮﻟﺔ وﯾﺘﻌﺮف ﻋﻠﻰ
اﻷدوات اﻟﻤﺴﺘﺨﺪﻣﺔ ﻓﻲ ﺣﻞ اﻟﺘﻤﺎرﯾﻦ ﺑﻤﺘﻌﺔ وﯾﻤﻜﻦ أﯾﻀﺎ ﻟﻠﻤﺘﻘﺪم إن ﯾﺴﺘﻔﺎد ﻣﻦ ﺣﻞ اﻟﺘﻤﺎرﯾﻦ اﻟﻤﻮﺟﻮدة ﺣﯿﺚ
ﺗﺤﺘﻮي ﻋﻠﻰ ﻣﻌﻠﻮﻣﺎت ﻣﻜﺜﻔﺔ وﻋﺪﯾﺪة ﻟﺰﯾﺎدة ﺧﺒﺮاﺗﮫ ﻓﻲ ﻣﺠﺎل ﺗﺼﻤﯿﻢ وﺑﺮﻣﺠﺔ ﻣﻮاﻗﻊ اﻟﻮب واﺳﺘﺨﺪام ﺗﻘﻨﯿﺔ اﺟﺎﻛﺲ
ﺑﻤﺘﻌﺔ وﺑﺴﺎطﺔ .
اﻟﻤﺤﺘﻮﯾﺎت
ﻣﻘﺪﻣﺔ :اﻟﺒﺪاﯾﺔ ﻣﻊ اﺟﺎﻛﺲ ،ﺗﻨﺼﯿﺐ اﺟﺎﻛﺲ وإﻋﺪاده .
اﻟﺪرس اﻷول :ﺗﺤﺪﯾﺚ ﺟﺰء ﻣﻦ ﺻﻔﺤﺔ وب ﻧﺤﻦ ﻧﻘﻮم ﺑﺎﺧﺘﯿﺎر ﻋﻨﺼﺮ ﻣﺤﺪد ﻟﯿﺘﻢ ﺗﺤﺪﯾﺚ ﺑﯿﺎﻧﺎﺗﮫ دون ﺗﺤﺪﯾﺚ ﻛﺎﻣﻞ
اﻟﺼﻔﺤﺔ ﻋﻨﺪ اﻟﻀﻐﻂ ﻋﻠﻰ زر اﻹرﺳﺎل .
اﻟﺪرس اﻟﺜﺎﻧﻲ :ﺗﺤﺪﯾﺚ ﺑﯿﺎﻧﺎت ﻋﺪة ﻋﻨﺎﺻﺮ ﻓﻲ اﻟﺼﻔﺤﺔ ﻋﺒﺮ اﺳﺘﺨﺪام ﻋﺪة Update Panelﻓﻲ ﻧﻔﺲ اﻟﺼﻔﺤﺔ .
اﻟﺪرس اﻟﺜﺎﻟﺚ Panel :ﯾﻈﮭﺮ ﻓﻲ أﻋﻠﻰ ﯾﻤﯿﻦ أو ﯾﺴﺎر اﻟﺼﻔﺤﺔ وﯾﺒﻘﻰ ﺛﺎﺑﺘﺎ ً ﻓﻲ اﻷﻋﻠﻰ ﺣﺘﻰ إﻧﺰال ﺷﺮﯾﻂ اﻟﺼﻔﺤﺔ
إﻟﻰ اﻷﺳﻔﻞ ﯾﺴﺘﺨﺪم ﻓﻲ اﻟﺤﺎﻻت اﻟﺪﻋﺎﺋﯿﺔ أو ﺣﺎﻻت ﻋﺪم ﺗﺴﺠﯿﻞ دﺧﻮل اﻟﺰوار اﻟﻤﻮﻗﻊ أو ﻟﺤﺎﻻت أﺧﺮى .
اﻟﺪرس اﻟﺮاﺑﻊ Panel :ﯾﻤﻜﻨﻨﺎ اﻹﻣﺴﺎك ﺑﮫ وﺗﺤﺮﯾﻜﮫ إﻟﻰ اﻟﻤﻜﺎن اﻟﺬي ﻧﺸﺎء ﺑﺪاﺧﻞ اﻟﺼﻔﺤﺔ .
اﻟﺪرس اﻟﺨﺎﻣﺲ :زر أﻣﺮ ﯾﻮﺟﺪ ﺑﺠﺎﻧﺐ ﺻﻨﺪوق ﻧﺺ وﻋﻨﺪ اﻟﻀﻐﻂ ﻋﻠﻰ اﻟﺰر ﯾﻈﮭﺮ ﻟﺪﯾﻨﺎ ﺣﺎﻣﻞ اﻷﻟﻮان ﯾﺤﺘﻮي
ﻋﻠﻰ ٢١٦ﻟﻮن ﯾﻤﻜﻦ اﺧﺘﯿﺎر اﺣﺪ ا ﻷﻟﻮان ﻓﯿﻈﮭﺮ ﻟﺪﯾﻨﺎ رﻣﺰه ﻓﻲ ﺻﻨﺪوق اﻟﻨﺺ وﯾﻈﮭﺮ اﻟﻠﻮن ﺑﺠﺎﻧﺐ زر اﻷﻣﺮ .
اﻟﺪرس اﻟﺴﺎدس :ﻋﻨﺪ إرﺳﺎل أﯾﻤﯿﻞ أو رﺳﺎﻟﺔ ﻧﺤﺘﺎج إﻟﻰ ﺗﻌﺪﯾﻞ اﻟﺨﻂ وإﺿﺎﻓﺔ رﻣﻮز واﻟﻰ ﺗﻠﻮﯾﻦ اﻟﺨﻂ وﺟﻌﻠﮫ
ﻣﺎﺋﻼً وﺗﻐﯿﺮ ﻧﻤﻂ اﻟﺨﻂ واﻟﻌﺪﯾﺪ ﻣﻦ اﻟﺘﻨﺴﯿﻘﺎت اﻷﺧﺮى ﻓﯿﻤﻜﻨﻨﺎ ھﻨﺎ إﺿﺎﻓﺔ ﻣﺤﺮر اﻟﻨﺼﻮص إﻟﻰ ﺻﻔﺤﺘﻨﺎ ﻟﻠﺘﺤﻜﻢ
ﺑﺘﻨﺴﯿﻖ اﻟﺨﻂ ﻗﺒﻞ إرﺳﺎل اﻟﺮﺳﺎﻟﺔ .
اﻟﺪرس اﻟﺴﺎﺑﻊ :ﻋﻨﺪ إرﺳﺎل أﯾﻤﯿﻞ أو رﺳﺎﻟﺔ ﻧﺤﺘﺎج إﻟﻰ ﺗﻌﺪﯾﻞ اﻟﺨﻂ ﻓﯿﻤﻜﻨﻨﺎ ھﻨﺎ إن ﻧﺠﻌﻞ اﻟﺨﻂ ﻋﺮﯾﻀﺎ أو ﻣﺎﺋﻼ
ﻓﻘﻂ واﻟﺘﺤﻜﻢ ﺑﺈظﮭﺎر اﻟﻌﻨﺎﺻﺮ اﻟﺘﻲ ﻧﺸﺎء ﻋﺒﺮ إﻧﺸﺎء ﻣﺤﺮر ﻧﺼﻮص ﺧﺎص ﺑﻨﺎ ،ﻓﯿﻤﻜﻨﻨﺎ ھﻨﺎ إﺿﺎﻓﺔ ﻣﺤﺮر
اﻟﻨﺼﻮص إﻟﻰ ﺻﻔﺤﺘﻨﺎ ﻟﻠﺘﺤﻜﻢ ﺑﺘﻨﺴﯿﻖ اﻟﺨﻂ ﻗﺒﻞ إرﺳﺎل اﻟﺮﺳﺎﻟﺔ .
اﻟﺪرس اﻟﺜﺎﻣﻦ :رﺳﺎﻟﺔ ﺗﺄﻛﯿﺪ إرﺳﺎل اﻟﺒﯿﺎﻧﺎت أو رﺳﺎﻟﺔ ﺗﻨﺒﯿﮫ إرﺳﺎل أﻣﺮ ﻣﻌﯿﻦ إﻟﻰ اﻟﻤﺨﺪم .
اﻟﺪرس اﻟﺘﺎﺳﻊ :ﻋﻨﺎﺻﺮ اﻟﺘﺤﻘﻖ ﻣﻦ إدﺧﺎل ﻗﯿﻢ ﻧﺤﻦ ﻧﻘﻮم ﺑﺘﺤﺪﯾﺪھﺎ ﺣﯿﺚ ﯾﻘﻮم اﻟﺘﺤﻘﻖ ﻣﻦ إدﺧﺎل أرﻗﺎم ﻓﻘﻂ ﻓﻲ
اﻟﺼﻨﺪوق اﻷول وﻟﻦ ﯾﻘﺒﻞ إدﺧﺎل أي ﺷﻲء ﺳﻮا اﻷرﻗﺎم واﻟﺘﺤﻘﻖ أﯾﻀﺎ ﻣﻦ إدﺧﺎل ﺣﺮوف ﺻﻐﯿﺮة ﻓﻘﻂ وﻟﻦ ﯾﺴﻤﺢ
ﺑﺈدﺧﺎل ﺳﻮا اﻟﺤﺮوف اﻟﺼﻐﯿﺮة واﻟﺘﺤﻘﻖ ﻣﻦ إدﺧﺎل ﻋﻤﻠﯿﺔ رﯾﺎﺿﯿﺔ وﻟﻦ ﯾﺴﻤﺢ ﺳﻮا إدﺧﺎل ﻋﻤﻠﯿﺔ رﯾﺎﺿﯿﺔ .
اﻟﺒﺪاﯾﺔ ﻣﻊ اﺟﺎﻛﺲ:
ﺗﻌرﯾﻔﮭﺎ :
ﻣﺼﻄﻠﺢ اﺟﺎﻛﺲ ظﮭﺮ أول ﻣﺮة ﻓﻲ ﻣﻘﺎﻟﺔ ﺑﺘﺎرﯾﺦ ١٨ﻓﺒﺮاﯾﺮ ٢٠٠٥ﻟﻜﺎﺗﺐ أﻣﺮﯾﻜﻲ وﻗﺪ وﺻﻒ ﻣﺠﻤﻮﻋﺔ ﺗﻘﻨﯿﺎت و
أﺳﺎﻟﯿﺐ اﺳﺘﺨﺪﻣﺖ ﻣﻦ ﻗﺒﻞ ﺟﻮﺟﻞ GOOGLEﻓﻲ ﺟﻮﺟﻞ أرث ﺗﻤﻜﻦ اﻟﻤﺴﺘﺨﺪم ﻣﻦ اﻟﺘﻌﺎﻣﻞ ﻣﻊ اﻟﻤﻮﻗﻊ
اﻹﻟﻜﺘﺮوﻧﻲ ﺑﻄﺮﯾﻘﺔ ﺗﺸﺒﮫ ﺑﺮاﻣﺞ اﻟﺤﺎﺳﻮب ،ﺣﯿﺚ ﯾﻘﻮم اﻟﻤﺴﺘﺨﺪم ﺑﺎﻟﻘﯿﺎم ﺑﺄﻋﻤﺎﻟﮫ ﻣﻦ ﺧﻼل ﺻﻔﺤﺔ واﺣﺪة .ﻟﻠﺘﺬﻛﯿﺮ،
ﻓﺈن اﻷدوات اﻟﻤﺴﺘﻌﻤﻠﺔ ﻓﻲ ھﺬه اﻟﺘﻘﻨﯿﺔ ﻛﺎﻧﺖ ﻣﻮﺟﻮدة ﻗﺒﻞ ظﮭﻮر اﻟﻤﻘﺎﻟﺔ .ﻓﻔﻲ ،٢٠٠١ظﮭﺮ اﻷﻣﺮ XMLHttp
داﺧﻞ ﻣﻜﺘﺒﺔ ) MSXMLاﻟﻤﻜﺘﺒﺔ اﻟﺘﻲ ﺻ ﻤﻤﺖ ﻓﻲ اﻟﺒﺪء ﻟﺪﻋﻢ اﻟﻤﺘﺼﻔﺢ اﻧﺘﺮﻧﺖ إﻛﺴﺒﻠﻮرر اﻹﺻﺪار .(٥وظﮭﺮ
ﻣﻜﺎﻓﺊ ﻟﮫ ﺑﺎﺳﻢ XMLHttpRequestﻋﻠﻰ ﻣﺘﺼﻔﺢ ﻣﻮزﯾﻼ وﻣﻦ ﺛﻢ اﻟﻤﺘﺼﻔﺤﺎت اﻷﺧﺮى.
ھﻨﺎك اﻟﻜﺜﯿﺮ ﯾﻌﺘﻘﺪون أﻧﮫ ﺳﯿﺘﺤﻮل ﻋﺎﻟﻢ اﻟﺒﺮﻣﺠﯿﺎت إﻟﻰ اﻟﻮﯾﺐ ﺑﻤﻌﻨﻲ اﻧﮫ ﯾﻤﻜﻨﻚ اﺳﺘﺨﺪام اﻟﺒﺮاﻣﺞ اﻟﻤﺨﺘﻠﻔﺔ ﻣﻦ
ﺧﻼل اﻟﻤﺘﺼﻔﺢ وھﻨﺎك ﻣﻮاﻗﻊ ﻛﺜﯿﺮة ﺑﺪأت اﻟﻤﺸﻮار ﻣﺜﻞ ﺗﺤﻮﯾﻞ ﻣﻠﻔﺎﺗﻚ إﻟﻰ ﺻﯿﻎ ﻣﺨﺘﻠﻔﺔ ﻣﻦ ﺧﻼل اﻟﻤﺘﺼﻔﺢ ،
ﻓﺒﻌﻀﮭﻢ ﻗﺎل إن ﺗﻄﺒﯿﻘﺎت اﻟﻮﯾﺐ ﻟﻢ ﺗﻌﺪ ﺻﻔﺤﺎت ﺑﻌﺪ اﻵن ﺑﻞ أﺻﺒﺤﺖ ﺗﻄﺒﯿﻘﺎت ﺳﻄﺢ ﻣﻜﺘﺐ ﺣﻘﯿﻘﯿﺔ .
اﻟﺒﺪء :
ﺳﻨﺘﻌﻠﻢ ﻓﻲ ﻛﺘﺎﺑﻨﺎ اﻟﻤﺼﻮر اﻟﺘﻘﻨﯿﺔ اﻷﻛﺜﺮ اﻧﺘﺸﺎراً ﻟﻤﻨﺢ ﺻﻔﺤﺎت ﻣﻮاﻗﻊ اﻟﻮب أداء ﻋﺎﻟﻲ وﺟﺎذﺑﯿﺔ ﻛﺒﯿﺮة،اﻋﺘﻤﺪ
ھﺬا اﻟﻜﺘﺎب اﻋﺘﻤﺎدا ً ﻛﺒﯿﺮاً ﻋﻠﻰ اﻟﺼﻮر ﻓﻲ ﺷﺮح ﻣﺤﺘﻮﯾﺎت ھﺬه اﻟﺘﻘﻨﯿﺔ ﻟﺠﻌﻞ دراﺳﺘﮫ أﻛﺜﺮ ﺳﮭﻮﻟﺔ وراﺣﺔ
ﻟﻠﻤﺘﻌﻠﻢ ﻓﺄﺗﻤﻨﻰ إن ﯾﺴﺘﻔﺎد ﻣﻦ ھﺬا اﻟﻜﺘﺎب اﻟﻌﺪد اﻷﻛﺒﺮ ﻣﻦ ﻣﺒﺮﻣﺠﻲ اﻟﻤﻮاﻗﻊ اﻟﺬﯾﻦ ﯾﺴﺘﺨﺪﻣﻮن ﺑﯿﺌﺔ اﻟﺪوت ﻧﯿﺖ
ﻓﻲ ﻋﻤﻠﮭﻢ .
ﯾﻜﻮن ﻟﺪﯾﻨﺎ ﻓﻲ Visual Studio 2008اﻟﻌﻨﺎﺻﺮ اﻷﺳﺎﺳﯿﺔ ﻓﻲ اﺟﺎﻛﺲ وھﻲ AJAX Extensionsﻧﻘﻮم
ﺑﺈﺿﺎﻓﺔ ﻋﻨﺎﺻﺮ اﺟﺎﻛﺲ أﺧﺮى وھﻲ AJAX Control Toolkitھﻲ ﻋﺒﺎرة ﻋﻦ ﻣﺠﻤﻮﻋﺔ ﻋﻨﺎﺻﺮ
ﺗﺘﯿﺢ ﻟﻨﺎ اﻟﻘﯿﺎم ﺑﺘﻄﺒﯿﻖ اﻟﻌﺪﯾﺪ ﻣﻦ ﺣﺮﻛﺎت اﺟﺎﻛﺲ ﻋﻠﻰ ﺻﻔﺤﺔ اﻟﻮب وﯾﺘﻢ ﺗﺤﺪﯾﺚ ﺗﻠﻚ اﻟﻌﻨﺎﺻﺮ ﺑﺸﻜﻞ
دوري ﻣﻦ ﻗﺒﻞ ﺷﺮﻛﺔ Microsoft
ﻋﻨﺎﺻﺮ اﺟﺎﻛﺲ اﻷﺳﺎﺳﯿﺔ اﻟﺘﻲ ﺗﻮﺟﺪ ﻋﻨﺪ ﺗﻨﺼﯿﺐ Microsoft Visual Studio 2008
ﻧﻘﻮم ﺑﺈﺗﺒﺎع اﻟﺨﻄﻮات اﻟﺘﺎﻟﯿﺔ ﻟﺘﻨﺼﯿﺐ ﻋﻨﺎﺻﺮ AJAX Control Toolkitاﻹﺿﺎﻓﯿﺔ ﺿﻤﻦ ﺑﯿﺌﺔ دوت ﻧﺖ :
ﻗﻢ ﺑﺘﻨﺰﯾﻞ ﻋﻨﺎﺻﺮ اﺟﺎﻛﺲ اﻹﺿﺎﻓﯿﺔ ﻣﻦ اﻟﺮاﺑﻂ اﻟﺘﺎﻟﻲ ):ﻗﻢ ﺑﺘﻨﺰﯾﻞ اﻟﻌﻨﺎﺻﺮ ﺿﻤﻦ ﻣﺠﻠﺪ اﻟﺪوت ﻧﯿﺖ (٢٠٠٨
http://www.4shared.com/file/110409699/453ec60e/AjaxControlToolkitSource.html
اﺗﺒﻊ اﻟﺨﻄﻮات اﻟﺘﺎﻟﯿﺔ ﺑﻌﺪ اﻟﺘﻨﺼﯿﺐ :
اﻟﺠﺪﯾﺪة Control Toolkit - ٤ﺑﻌﺪ ﻛﺘﺎﺑﺔ اﺳﻢ اﻟﻌﻨﺎﺻﺮ ﻓﻲ اﻟﻤﻜﺎن اﻟﻤﺒﯿﻦ ﻓﻲ اﻟﺼﻮرة ﻧﻘﻮم ﺑﺈﺿﺎﻓﺔ اﻟﻌﻨﺎﺻﺮ
– ٥ﻧﺨﺘﺎر اﺳﺘﻌﺮاض
– ٦ﻧﺨﺘﺎر ﻓﺘﺢ اﻟﻤﺠﻠﺪ اﻟﻤﺒﯿﻦ ﻓﻲ اﻟﺼﻮرة وﺳﯿﻜﻮن ﺑﺎﻟﻤﻜﺎن اﻟﺬي ﻗﻤﻨﺎ ﺑﺤﻔﻈﮫ ﻓﯿﮫ
وظﯿﻔﺔ اﻟﺪرس اﻷول ﻟﺪﯾﻨﺎ ھﻲ ﺗﺤﺪﯾﺚ ﺟﺰء ﻣﻦ ﺻﻔﺤﺔ وب ﻧﺤﻦ ﻧﻘﻮم ﺑﺎﺧﺘﯿﺎر ﻋﻨﺼﺮ ﻣﺤﺪد ﻟﯿﺘﻢ ﺗﺤﺪﯾﺚ
ﺑﯿﺎﻧﺎﺗﮫ دون ﺗﺤﺪﯾﺚ ﻛﺎﻣﻞ اﻟﺼﻔﺤﺔ ﻋﻨﺪ اﻟﻀﻐﻂ ﻋﻠﻰ زر اﻹرﺳﺎل .
ﺑﺪاﯾﺔ ﯾﺠﺐ إن ﯾﺘﻢ وﺿﻊ ﻋﻨﺼﺮ اﻻﺟﺎﻛﺲ اﻷﺳﺎﺳﻲ ﻓﻲ ﻛﺎﻓﺔ اﻟﺼﻔﺤﺎت اﻟﺘﻲ ﺳﯿﺘﻢ ﺗﻄﺒﯿﻖ ﺗﻘﻨﯿﺔ اﺟﺎﻛﺲ
ﻋﻠﯿﮭﺎ وھﻮ اﻟﻌﻨﺼﺮ اﻟﺘﺎﻟﻲ ScriptManager :
ﻧﻘﻮم ﺑﺎﻟﻀﻐﻂ ﻓﻲ داﺧﻞ اﻟﺼﻔﺤﺔ ﻣﺮﺗﯿﻦ ﻋﻠﻰ ﺣﺪث Page Loadﻟﻜﺘﺎﺑﺔ ﻛﻮد ﻓﯿﺠﻮل ﺑﯿﺰك ﯾﺘﻢ ﻣﻌﺎﻟﺠﺘﮫ ﻣﻦ
ﻗﺒﻞ اﻟﻤﺨﺪم وظﯿﻔﺘﮫ إظﮭﺎر اﻟﺘﺎرﯾﺦ واﻟﻮﻗﺖ داﺧﻞ اﻟﻌﻨﺼﺮ اﻟﺤﺎوي واﻟﻜﻮد ﯾﻜﻮن ﻛﺎﻟﺘﺎﻟﻲ :
اﻟﻜﻮد ﻓﻲ ﻓﯿﺠﻮل ﺑﯿﺰك :
using ;System
using ;System.Data
using ;System.Configuration
using ;System.Web
using ;System.Web.Security
using ;System.Web.UI
using ;System.Web.UI.WebControls
using ;System.Web.UI.WebControls.WebParts
using ;System.Web.UI.HtmlControls
public partial class _Default : System.Web.UI.Page
{
)protected void Page_Load(object sender, EventArgs e
{
;)(Label1.Text = DateTime.Now.ToString
;)(Label2.Text = DateTime.Now.ToString
;)(Label3.Text = DateTime.Now.ToString
}
}
ﺑﻌﺪ ﺗﻨﺰﯾﻞ اﻟﻌﻨﺎﺻﺮ اﻷﺳﺎﺳﯿﺔ ﻓﻲ ﺑﯿﺌﺔ اﻟﺪوت ﻧﯿﺖ ﻧﻘﻮم ﺑﺎﺳﺘﺨﺪام اﻟﻌﻨﺼﺮ Update Panelوھﻮ ﻣﻦ ﻋﻨﺎﺻﺮ
Ajax Extensionsاﻟﻤﺒﯿﻦ ﻓﻲ اﻟﺼﻮرة
ﺑﻌﺪ إدراج ﻋﻨﺼﺮ اﺟﺎﻛﺲ ﻓﻲ ﺻﻔﺤﺔ اﻟﺘﺼﻤﯿﻢ ،ھﻨﺎ ﻧﻘﻮم ﺑﻮﺿﻊ اﻟﻌﻨﺼﺮ اﻟﺬي ﻧﻮد ﺗﺤﺪﯾﺜﮫ داﺧﻞ ﻋﻨﺼﺮ
اﺟﺎﻛﺲ ﻟﯿﺘﻢ ﺗﺤﺪﯾﺚ ﻣﺤﺘﻮﯾﺎﺗﮫ ﻣﻦ ﻗﺒﻞ اﻟﻤﺨﺪم وﺗﺮك اﻟﻌﻨﺎﺻﺮ اﻷﺧﺮى ﺑﺪون ﺗﺤﺪﯾﺚ اﻟﺘﻲ ﺗﻜﻮن ﺧﺎرج ﻋﻨﺼﺮ
اﺟﺎﻛﺲ اﻟﻤﺴﺘﺨﺪم
وﻋﻨﺪ اﻟﺘﺸﻐﯿﻞ ﯾﻈﮭﺮ ﻟﺪﯾﻨﺎ اﻟﺘﺎﻟﻲ :
ﻓﻲ اﻟﻄﺮﯾﻘﺔ اﻟﺴﺎﺑﻘﺔ ﺗﻢ وﺿﻊ زر اﻹرﺳﺎل Buttonأﯾﻀﺎ داﺧﻞ ﻋﻨﺼﺮ اﺟﺎﻛﺲ اﻟﻤﺴﺘﺨﺪم ،ﺳﻨﻘﻮم ﻓﻲ ﻣﺜﺎﻟﻨﺎ
اﻟﺘﺎﻟﻲ ﺑﺈﺧﺮاج ﻋﻨﺼﺮ اﻹرﺳﺎل Buttonﻣﻦ داﺧﻞ ﻋﻨﺼﺮ اﺟﺎﻛﺲ وﺑﺘﺤﺪﯾﺪ اﻟﻌﻨﺼﺮ اﻟﻤﺮاد ﺗﺤﺪﯾﺜﮫ
ﻋﻦ طﺮﯾﻖ ﺧﺼﺎص ﻋﻨﺼﺮ Update Panelاﻟﻤﺴﺘﺨﺪم ﻛﻤﺎﯾﻠﻲ :
وﻋﻨﺪ اﻟﺘﺸﻐﯿﻞ ﺳﯿﺘﻢ ﻋﻤﻞ ﺗﺤﺪﯾﺚ ﻟﻠﻌﻨﺼﺮ Label2اﻟﻤﻮﺟﻮد داﺧﻞ ﻋﻨﺼﺮ اﺟﺎﻛﺲ اﻟﻤﺴﺘﺨﺪم
ﻣﻊ وﺟﻮد ﻋﻨﺼﺮ اﻹرﺳﺎل Buttonﺧﺎرج ﻋﻨﺼﺮ اﺟﺎﻛﺲ ﻟﯿﻜﻮن ﻟﺪﯾﻨﺎ ﻧﺘﯿﺠﺔ اﻟﺪرس ﻛﻤﺎﯾﻠﻲ :
ﺗﺤﺪﯾﺚ ﺑﯿﺎﻧﺎت ﻋﺪة ﻋﻨﺎﺻﺮ ﻓﻲ اﻟﺼﻔﺤﺔ ﻋﺒﺮ اﺳﺘﺨﺪام ﻋﺪة Update Panelﻓﻲ ﻧﻔﺲ اﻟﺼﻔﺤﺔ
ﻓﻲ ھﺬا اﻟﺪرس ﺳﻨﻘﻮم ﺑﺎﺳﺘﺨﺪام ﻋﺪة ﻋﻨﺎﺻﺮ ﻣﻦ Update Panelﻹرﺳﺎل ﻣﺤﺘﻮﯾﺎﺗﮭﺎ إﻟﻰ اﻟﻤﺨﺪم
ﺳﻨﺴﺘﺨﺪم اﻟﻤﺜﺎل ﻓﻲ اﻟﺪرس اﻷول وﻧﺘﺎﺑﻊ ﺣﻞ ﺗﻤﺮﯾﻨﻨﺎ ھﺬا :
ﻋﻧد ﺗرك اﻟﺧﺎﺻﯾﺔ Update Modeﻋﻠﻰ Alwaysﻓﺄﻧﮫ ﺳﯾﺗم ﺗﺣدﯾث اﻟﻌﻧﺎﺻر اﻟﻣوﺟودة داﺧل
Update Panel1و اﻟﻌﻨﺎﺻﺮ اﻟﻤﻮﺟﻮدة داﺧﻞ Update Panel2ﻋﻦ اﻟﻀﻐﻂ ﻋﻠﻰ زر ، Button
وﻟﻜﻦ ﻋﻨﺪ ﺗﻐﯿﺮ اﻟﺨﺎﺻﯿﺔ إﻟﻰ Conditionalﻓﺎﻧﮫ ﺳﯿﺘﻢ ﺗﺤﺪﯾﺚ ﻣﺤﺘﻮﯾﺎت Update Panel1ﻓﻘﻂ وﻟﻦ
ﯾﺘﻢ ﺗﺤﺪﯾﺚ ﻣﺤﺘﻮﯾﺎت Update Panel2إﻻ إذا ﻗﻤﺖ ﺑﺎﻟﺘﺼﺮﯾﺢ ﻋﻦ ذﻟﻚ ﺑﺸﻜﻞ ﺻﺮﯾﺢ ..
-ﺗﻮﺿﺢ اﻟﺼﻮرة اﺳﺘﺨﺪام : Always
ﻓﯿﻤﻜﻨﻨﺎ اﺳﺘﺨﺪام Update Panelﻋﻨﺪﻣﺎ ﻧﺮﯾﺪ ﺗﺤﺪﯾﺚ ﺑﯿﺎﻧﺎت ﺟﺰء ﻣﻦ ﺻﻔﺤﺔ وب وﺑﺎﻟﺘﺎﻟﻲ ﺗﻘﻠﯿﻞ اﻟﻀﻐﻂ ﻋﻠﻰ
اﻟﻤﺨﺪم ﻟﺪﯾﻨﺎ .
Panelﯾﻈﮭﺮ ﻓﻲ وﺳﻂ اﻟﺼﻔﺤﺔ وﯾﻠﻐﻲ ﺗﻔﻌﯿﻞ ﺑﺎﻗﻲ اﻟﺼﻔﺤﺔ ﻣﻊ إﻋﻄﺎﺋﮭﺎ اﻟﻠﻮن اﻟﺮﻣﺎدي وﻋﺪم اﻟﺴﻤﺎح ﺑﺎﻟﻀﻐﻂ
ﻓﻲ إرﺟﺎء اﻟﺼﻔﺤﺔ ﻟﻜﻦ ﯾﺴﻤﺢ ﺑﺎﻟﻀﻐﻂ ﻋﻠﻰ ﻋﻨﺼﺮ داﺧﻞPanelﻟﯿﺘﻢ ﺗﻔﻌﯿﻞ اﻟﺼﻔﺤﺔ ﻣﻦ ﺟﺪﯾﺪ
.modalPopup
}
background-color:#ffffdd;
border-width:3px;
border-style:solid;
border-color:Gray;
padding:3px;
width:250px;
{
Panelﯾﻈﮭﺮ ﻓﻲ أﻋﻠﻰ ﯾﻤﯿﻦ أو ﯾﺴﺎر اﻟﺼﻔﺤﺔ وﯾﺒﻘﻰ ﺛﺎﺑﺘﺎ ً ﻓﻲ اﻷﻋﻠﻰ ﺣﺘﻰ إﻧﺰال ﺷﺮﯾﻂ اﻟﺼﻔﺤﺔ إﻟﻰ
اﻷﺳﻔﻞ ﯾﺴﺘﺨﺪم ﻓﻲ اﻟﺤﺎﻻت اﻟﺪﻋﺎﺋﯿﺔ أو ﺣﺎﻻت ﻋﺪم ﺗﺴﺠﯿﻞ دﺧﻮل زوار اﻟﻤﻮﻗﻊ أو ﻟﺤﺎﻻت أﺧﺮى
اﻟﺼﻔﺤﺔ اﻟﻌﺎﻣﺔ ﻟﻠﺘﻤﺮﯾﻦ ﯾﺠﺐ إن ﻧﻘﻮم ﺑﻤﻞء اﻟﺼﻔﺤﺔ ﺑﺎﻟﻤﻌﻠﻮﻣﺎت ﻟﯿﻈﮭﺮ ﻟﺪﯾﻨﺎ ﺷﺮﯾﻂ اﻟﺘﻤﺮﯾﺮ ﻋﻠﻰ اﻟﯿﻤﯿﻦ
ﻟﻠﺤﺼﻮل ﻋﻠﻰ أﻓﻀﻞ اﻟﻨﺘﺎﺋﺞ ﻓﻲ ﺣﻞ اﻟﺪرس :
وﻛﻤﺎ ﻧﻌﻠﻢ ﻓﺎﻧﮫ ﺑﺈﻣﻜﺎﻧﻨﺎ وﺿﻊ ﻣﺎ ﻧﺮﯾﺪ ﻣﻦ ﺻﻮر و ﻓﻼﺷﺎت أو أي ﺷﻲء أﺧﺮ ﻧﺮﻏﺐ ﺑﮫ ﻟﺘﺼﻤﯿﻢ ﺻﻔﺤﺎت ﻣﻮﻗﻌﻨﺎ
<script type="text/javascript">
function setBodyHeightToContentHeight() {
document.body.style.height =
Math.max(document.documentElement.scrollHeight,
document.body.scrollHeight)+"px";
}
setBodyHeightToContentHeight();
window.attachEvent('onresize', setBodyHeightToContentHeight);
</script>
</body>
</html>
.dragContainer
}
background-color: #FFC0FF;
height: 282px;
width: 357px;
border-bottom-color: black;
{
.dragHeader
}
background-color: #8080FF;
height: 48px;
width: 358px;
{
.dragBody
}
background-color: #FFC0FF;
height: 213px;
width: 357px;
{
زر أﻣﺮ ﯾﻮﺟﺪ ﺑﺠﺎﻧﺐ ﺻﻨﺪوق ﻧﺺ وﻋﻨﺪ اﻟﻀﻐﻂ ﻋﻠﻰ اﻟﺰر ﯾﻈﮭﺮ ﻟﺪﯾﻨﺎ ﺣﺎﻣﻞ اﻷﻟﻮان ﯾﺤﺘﻮي ﻋﻠﻰ ٢١٦ﻟﻮن
ﯾﻤﻜﻦ اﺧﺘﯿﺎر اﺣﺪ ا ﻷﻟﻮان ﻓﯿﻈﮭﺮ ﻟﺪﯾﻨﺎ رﻣﺰه ﻓﻲ ﺻﻨﺪوق اﻟﻨﺺ وﯾﻈﮭﺮ اﻟﻠﻮن ﺑﺠﺎﻧﺐ زر اﻷﻣﺮ
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title>ACT Color Picker COntrol</title>
</head>
<body>
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1"
runat="server"></asp:ScriptManager>
<div>
<asp:TextBox runat="server" ID="Color2"
AutoCompleteType="None" MaxLength="6" style="float:left" />
<asp:ImageButton runat="Server" ID="Image1"
style="float:left;margin:0 3px"
ImageUrl="~/images/cp_button.png"
PopupButtonID="Image1"
SampleControlID="Sample1"
SelectedColor="33ffcc" />
<br /><br style="clear:both" />
<div style="font-size: 90%"><em>(Click the image button to
show the color picker)</em></div>
</div>
</form>
</body>
</html>
ﻋﻨﺪ إرﺳﺎل أﯾﻤﯿﻞ أو رﺳﺎﻟﺔ ﻧﺤﺘﺎج إﻟﻰ ﺗﻌﺪﯾﻞ اﻟﺨﻂ وإﺿﺎﻓﺔ رﻣﻮز واﻟﻰ ﺗﻠﻮﯾﻦ اﻟﺨﻂ وﺟﻌﻠﮫ ﻣﺎﺋﻼً وﺗﻐﯿﺮ ﻧﻤﻂ
اﻟﺨﻂ واﻟﻌﺪﯾﺪ ﻣﻦ اﻟﺘﻨﺴﯿﻘﺎت اﻷﺧﺮى ﻓﯿﻤﻜﻨﻨﺎ ھﻨﺎ إﺿﺎﻓﺔ ﻣﺤﺮر اﻟﻨﺼﻮص إﻟﻰ ﺻﻔﺤﺘﻨﺎ ﻟﻠﺘﺤﻜﻢ ﺑﺘﻨﺴﯿﻖ اﻟﺨﻂ ﻗﺒﻞ
إرﺳﺎل اﻟﺮﺳﺎﻟﺔ
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<div>
<center><cc1:Editor ID="Editor1" runat="server" Width="600px"
/></center><br /><br />
<asp:Button ID="Button1" runat="server" Text="Button"
onclick="Button1_Click" /><br /><br />
<asp:Label ID="Label1" runat="server"
Text="Label"></asp:Label>
</div>
</form>
</body>
</html>
: وﻧﻜﺘﺐ اﻟﻜﻮد اﻟﺘﻠﻲ ﺑﺎﻟﻠﻐﺔ ﺳﻲ ﺷﺎرب Button1 ﻧﻀﻐﻂ ﻣﺮﺗﯿﻦ ﻋﻠﻰ زر اﻷﻣﺮ
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
}
protected void Button1_Click(object sender, EventArgs e)
{
Label1.Text = Editor1.Content;
}
}
ﻋﻨﺪ إرﺳﺎل أﯾﻤﯿﻞ أو رﺳﺎﻟﺔ ﻧﺤﺘﺎج إﻟﻰ ﺗﻌﺪﯾﻞ اﻟﺨﻂ ﻓﯿﻤﻜﻨﻨﺎ ھﻨﺎ إن ﻧﺠﻌﻞ اﻟﺨﻂ ﻋﺮﯾﻀﺎ أو ﻣﺎﺋﻼ ﻓﻘﻂ واﻟﺘﺤﻜﻢ
ﺑﺈظﮭﺎر اﻟﻌﻨﺎﺻﺮ اﻟﺘﻲ ﻧﺸﺎء ﻋﺒﺮ إﻧﺸﺎء ﻣﺤﺮر ﻧﺼﻮص ﺧﺎص ﺑﻨﺎ ،ﻓﯿﻤﻜﻨﻨﺎ ھﻨﺎ إﺿﺎﻓﺔ ﻣﺤﺮر اﻟﻨﺼﻮص إﻟﻰ
ﺻﻔﺤﺘﻨﺎ ﻟﻠﺘﺤﻜﻢ ﺑﺘﻨﺴﯿﻖ اﻟﺨﻂ ﻗﺒﻞ إرﺳﺎل اﻟﺮﺳﺎﻟﺔ
ﻓﻲ ھﺬا اﻟﺘﻤﺮﯾﻦ ﻧﺤﻦ ﻟﺴﻨﺎ ﺑﺤﺎﺟﺔ إﻟﻰ ﻋﻨﺎﺻﺮ اﺟﺎﻛﺲ ﺑﻞ ھﻨﺎ ﺳﻮف ﻧﻘﻮم ﺑﺒﻨﺎء ﻋﻨﺼﺮ اﺟﺎﻛﺲ ﺟﺪﯾﺪ اﻋﺘﻤﺎداً
ﻋﻠﻰ ﻋﻨﺼﺮ اﺟﺎﻛﺲ ﻣﻮﺟﻮد ﻣﺴﺒﻘﺎ ً أي ﺳﻨﻘﻮم ﺑﺈﺟﺮاء ﺗﻌﺪﯾﻞ ﻋﻠﻰ ﻋﻨﺼﺮ اﺟﺎﻛﺲ اﻟﻘﺪﯾﻢ ﻟﻜﻲ ﯾﻠﺒﻲ ﺣﺎﺟﺘﻨﺎ
-طﺮﯾﻘﺔ إﻧﺸﺎء ﺻﻒ ﺟﺪﯾﺪ ھﻲ ﻛﺎﻟﺘﺎﻟﻲ :
: ﻋﻨﺪ ا ﻻﻧﺘﮭﺎء ﻣﻦ إﻧﺸﺎء اﻟﺼﻒ ﻧﻜﺘﺐ ﺑﺪاﺧﻠﮫ اﻟﺘﺎﻟﻲ
: اﻟﻜﻮد ﻓﻲ ﺳﻲ ﺷﺎرب
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using AjaxControlToolkit.HTMLEditor;
namespace JoesAjaxControls
{
public class SimpleEditor : Editor
{
protected override void FillTopToolbar()
{
TopToolbar.Buttons.Add(new
AjaxControlToolkit.HTMLEditor.ToolbarButton.Bold());
TopToolbar.Buttons.Add(new
AjaxControlToolkit.HTMLEditor.ToolbarButton.Italic());
}
protected override void FillBottomToolbar()
{
BottomToolbar.Buttons.Add(new
AjaxControlToolkit.HTMLEditor.ToolbarButton.DesignMode());
BottomToolbar.Buttons.Add(new
AjaxControlToolkit.HTMLEditor.ToolbarButton.PreviewMode());
}
}
}
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<div>
<Awaz:SimpleEditor id="Editor1" runat="server" width="640px"
/>
<asp:Button ID="Button1" runat="server" Text="Button"
onclick="Button1_Click" /><br /><br />
<asp:Label ID="Label1" runat="server"
Text="Label"></asp:Label>
</div>
</form>
</body>
</html>
. Label ﻓﻌﻨﺪ اﻟﻀﻐﻂ ﻋﻠﻰ اﻟﺰر ﯾﻈﮭﺮ ﻧﺘﯿﺠﺔ إرﺳﺎل اﻟﺒﯿﺎﻧﺎت داﺧﻞ: Button اﻟﻜﻮد اﻟﺨﻠﻔﻲ ﻟﺰر اﻷﻣﺮ
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
}
protected void Button1_Click(object sender, EventArgs e)
{
Label1.Text = Editor1.Content;
}
}
ﻟﻢ ﯾﺘﻢ اﺳﺘﺨﺪام أي ﻋﻨﺼﺮ ﻣﻦ ﻋﻨﺎﺻﺮ اﺟﺎﻛﺲ ﻓﻲ ھﺬا اﻟﺘﻤﺮﯾﻦ ﺑﻞ ﻗﻤﻨﺎ ﺑﺒﻨﺎء ﻋﻨﺼﺮ اﺟﺎﻛﺲ ﺟﺪﯾﺪ: ﻣﻼﺣﻈﺔ
. AjaxControlToolkit.HTMLEditor واﺳﺘﺨﺪاﻣﮫ وذﻟﻚ ﺑﺎﺳﺘﺨﺪام اﻟﺼﻒ اﻟﺒﺮﻣﺠﻲ
رﺳﺎﻟﺔ ﺗﺄﻛﯿﺪ إرﺳﺎل اﻟﺒﯿﺎﻧﺎت أو رﺳﺎﻟﺔ ﺗﻨﺒﯿﮫ إرﺳﺎل أﻣﺮ ﻣﻌﯿﻦ إﻟﻰ اﻟﻤﺨﺪم
وﻓﻲ اﻟﻨﮭﺎﯾﺔ ﻋﻨﺪ ﺗﺸﻐﯿﻞ اﻟﺘﻤﺮﯾﻦ ﺳﻮف ﯾﻈﮭﺮ ﻟﺪﯾﻨﺎ رﺳﺎﻟﺔ ﺗﺄﻛﯿﺪ إرﺳﺎل اﻟﺒﯿﺎﻧﺎت إﻟﻰ اﻟﻤﺨﺪم .
ﻣﻼﺣﻈﺔ :ﯾﻤﻜﻦ ﻣﻦ ﺧﻼل ﻋﻨﺼﺮ اﺟﺎﻛﺲ اﻟﻤﺴﺘﺨﺪم ﻓﻲ ھﺬا اﻟﺘﻤﺮﯾﻦ اﻟﻘﯿﺎم ﺑﻌﻤﻠﯿﺎت ﺗﺤﻘﻖ أﺧﺮى ﯾﻤﻜﻨﻚ ﺗﺠﺮﯾﺒﮭﺎ.
اﻟﻤﺼﺎدر :
اﻟﺠﺰء اﻟﺨﺎص ﺑﺎﺳﺘﺨﺪام اﻟﺘﻘﻨﯿﺔ ﻓﻲ اﻟﻤﻜﺘﺒﺎت ﻟﺘﻘﺮﯾﺮ ﻟﺠﺎ ﺳﻮن أ .ﻛﻼرك •
ﻣﻮﻗﻊ ASP.NET •