27
ﺷﺮﻛﺖ ﭘﻴﺸﮕﺎﻣﺎﻥ ﻓﻨﺎﻭﺭﻱ ﻛﻠﻴﻪ ﺣﻘﻮﻕ ﺍﻳﻦ ﺟﺰﻭﻩ ﺁﻣﻮﺯﺷﻲ ﻣﺘﻌﻠﻖ ﺑﻪ ﺳﺎﻳﺖ ﺁﻣﻮﺯﺵ ﺍﻟﻜﺘﺮﻭﻧﻴﻜﻲ ﭘﺮﺷﻴﺎ ﻣﻴﺒﺎﺷﺪ ﺟﺰﻭﻩ ﺁﻣﻮﺯﺷﻲ ﻛﻼﺱASP.NET ﺍﺳﺘﺎﺩ ﺩﻭﺭﻩ: ﻭﺣﻴﺪ ﻧﺼﻴﺮﻱ) [email protected] ( ﻓﺼﻞ ﭼﻬﺎﺭﻡ: ﻣﻌﺮﻓﯽ ﮐﻨﺘﺮﻝ ﻫﺎﯼ ﻭﺏ ﻭ ﻧﺤﻮﻩ ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ﺁﻧﻬﺎ ﺩﺭ ﺻﻔﺤﺎﺕASP.NET ﻣﻘﺪﻣﻪ: ﭘﺲ ﺍﺯ ﻣﻄﺎﻟﻌﻪ ﻱ ﻓﺼﻮﻝ ﻗﺒﻠﻲ ﻛﻪ ﺻﺮﻓﺎ ﻣﻘﺪﻣﻪ ﺍﻱ ﺑﺮﺍﻱ ﺁﻏﺎﺯ ﻛـﺎﺭ ﺑﻮﺩﻧـﺪ ، ﺍﺯ ﺍﻳـﻦ ﻓﺼـﻞ ﺑـﻪ ﺑﻌـﺪ ﺑﺮﻧﺎﻣـﻪ ﻧﻮﻳﺴﻲ ﺟﺪﻱASP.NET ﺷﺮﻭﻉ ﺧﻮﺍﻫﺪ ﺷﺪ. ﺩﺭ ﻓﺼﻞ ﺟﺎﺭﻱ ﻣﺮﻭﺭﻱ ﺧﻮﺍﻫﻴﻢ ﺩﺍﺷﺖ ﺑﺮ ﻧﺤﻮﻩ ﻱ ﺍﺳﺘ ﻔﺎﺩﻩ ﺍﺯ ﻛﻨﺘﺮﻝ ﻫﺎﻱ ﻭﺏ ﺩﺭ ﺑﺮﻧﺎﻣﻪ ﻫﺎ. ﺍﻧﺘﺨﺎﺏLayout : ﻫﻨﮕﺎﻣﻴﻜﻪ ﺷﻤﺎ ﻛﻨﺘﺮﻟﻲ ﺭﺍ ﺑﺮ ﺭﻭﻱ ﻓﺮﻡ ﻗﺮﺍﺭ ﻣﻲ ﺩﻫﻴﺪ ﺩﻭ ﮔﺰﻳﻨﻪ ﭘﻴﺶ ﺭﻭ ﺧﻮﺍﻫﻴﺪ ﺩﺍﺷﺖ: Grid Layout ) : ﭘﻴﺶ ﻓﺮﺽ ﻣﻲ ﺑﺎﺷﺪ.( ﺩﺭ ﺍﻳﻦ ﺣﺎﻟﺖ ﻣﻜﺎﻥ ﻛﻨﺘﺮﻝ ﻫﺎ ﻣﻄﻠﻖ ﻣـﻲ ﺑﺎﺷـﻨﺪ ﻭ ﺑـﻴﺶ ﺗـﺮ ﺷﺒﻴﻪ ﺑﻪ ﻃﺮﺍﺣﻲ ﻇﺎﻫﺮ ﺑﺮﻧﺎﻣﻪ ﻫﺎﻱ ﻭﻳﻨﺪﻭﺯ ﻣ ﻲ ﺑﺎﺷﺪ ﻛﻪ ﺑﺎ ﻣﻘﺪﺍﺭ ﺯﻳﺎﺩﻱ ﻣﺘﻦ ﻣﺨﻠﻮﻁ ﻧﻴﺴﺘﻨﺪ. Flow Layout : ﺩﺭ ﺍﻳﻦ ﺣﺎﻟﺖ ﻛﻨﺘﺮﻝ ﻫﺎ ، ﻧﺴﺒﺖ ﺑﻪ ﻳﻜﺪﻳﮕﺮ ﺭﻭﻱ ﺻﻔﺤﻪ ﻗﺮﺍﺭ ﻣﻲ ﮔﻴﺮﻧﺪ. ﺑﺮﺍﻱ ﻣﺜـﺎﻝ ﺍﮔﺮ ﺷﻤﺎ ﻛﻨﺘﺮﻟﻲ ﺭﺍ ﺩﺭ ﺯﻣﺎﻥ ﺍﺟﺮﺍ ﺑﻪ ﺑﺮﻧﺎﻣﻪ ﺍﺿﺎﻓﻪ ﻛﻨﻴﺪ ، ﻛﻨﺘﺮﻝ ﻫﺎﻱ ﺑﻌﺪ ﺍﺯ ﺁﻥ ﺑﻪ ﺳﻤﺖ ﭘﺎﻳﻴﻦ ﺣﺮﻛﺖ

Microsoft Word - asp_net_ch04_final

Embed Size (px)

DESCRIPTION

‫ﺻﻔﺤﺎﺕ‬ ‫ﺩﺭ‬ ‫ﺁﻧﻬﺎ‬ ‫ﺍﺯ‬ ‫ﺍﺳﺘﻔﺎﺩﻩ‬ ‫ﻧﺤﻮﻩ‬ ‫ﻭ‬ ‫ﻭﺏ‬ ‫ﻫﺎﯼ‬ ‫ﮐﻨﺘﺮﻝ‬ ‫ﻣﻌﺮﻓﯽ‬ ASP.NET ‫ﺟﺪﻱ‬ ‫ﻧﻮﻳﺴﻲ‬ ASP.NET ‫ﺷﺪ‬ ‫ﺧﻮﺍﻫﺪ‬ ‫ﺷﺮﻭﻉ‬ . ‫ﺍﺳﺘ‬ ‫ﻱ‬ ‫ﻧﺤﻮﻩ‬ ‫ﺑﺮ‬ ‫ﺩﺍﺷﺖ‬ ‫ﺧﻮﺍﻫﻴﻢ‬ ‫ﻣﺮﻭﺭﻱ‬ ‫ﺟﺎﺭﻱ‬ ‫ﻓﺼﻞ‬ ‫ﺩﺭ‬ ‫ﺍﺯ‬ ‫ﻔﺎﺩﻩ‬ • Flow Layout : ‫ﮔﻴﺮﻧﺪ‬ ‫ﻣﻲ‬ ‫ﻗﺮﺍﺭ‬ ‫ﺻﻔﺤﻪ‬ ‫ﺭﻭﻱ‬ ‫ﻳﻜﺪﻳﮕﺮ‬ ‫ﺑﻪ‬ ‫ﻧﺴﺒﺖ‬ ، ‫ﻫﺎ‬ ‫ﻛﻨﺘﺮﻝ‬ ‫ﺣﺎﻟﺖ‬ ‫ﺍﻳﻦ‬ ‫ﺩﺭ‬ . ‫ﻣﺜـﺎﻝ‬ ‫ﺑﺮﺍﻱ‬

Citation preview

Page 1: Microsoft Word - asp_net_ch04_final

1

شركت پيشگامان فناوري

كليه حقوق اين جزوه آموزشي متعلق به سايت آموزش الكترونيكي پرشيا ميباشد )[email protected]( نصيريوحيد : استاد دوره ASP.NETآموزشي كالس جزوه

:چهارمفصل

ASP.NETمعرفی کنترل های وب و نحوه استفاده از آنها در صفحات

:مقدمه

پس از مطالعه ي فصول قبلي كه صرفا مقدمه اي براي آغاز كـار بودنـد ، از ايـن فصـل بـه بعـد برنامـه فاده از در فصل جاري مروري خواهيم داشت بر نحوه ي است . شروع خواهد شد ASP.NETنويسي جدي

.كنترل هاي وب در برنامه ها

: Layoutانتخاب

: هنگاميكه شما كنترلي را بر روي فرم قرار مي دهيد دو گزينه پيش رو خواهيد داشت • Grid Layout) : در اين حالت مكان كنترل ها مطلق مـي باشـند و بـيش تـر ). پيش فرض مي باشد

.ي باشد كه با مقدار زيادي متن مخلوط نيستند شبيه به طراحي ظاهر برنامه هاي ويندوز م• Flow Layout : براي مثـال . در اين حالت كنترل ها ، نسبت به يكديگر روي صفحه قرار مي گيرند

اگر شما كنترلي را در زمان اجرا به برنامه اضافه كنيد ، كنترل هاي بعد از آن به سمت پايين حركت

Page 2: Microsoft Word - asp_net_ch04_final

2

شركت پيشگامان فناوري

كليه حقوق اين جزوه آموزشي متعلق به سايت آموزش الكترونيكي پرشيا ميباشد )[email protected]( نصيريوحيد : استاد دوره ASP.NETآموزشي كالس جزوه

ي مواردي كه مخلوطي از متن و كنترل ها نياز است ، استفاده از اين حالت بيش تر برا . خواهند كرد .مي گردد

را Document براي تنظيم اين موارد در پنجره ي خواص كه در سمت راست صفحه قـرار دارد ، شـيء

).١شکل ( آنرا تغيير دهيد PageLayoutانتخاب كنيد و سپس خاصيت

.يين نحوه ی قرار گيری کنترلها نسبت به هم نهايی فرم وب و تعLayout انتخاب -١شکل

:انتخاب كنترل صحيح

چـه تفـاوتي در . را روي فرم هاي وب قرار داد HTML مي توان كنترل هاي سرور وب و يا كنترل هاي HTMLاين زمينه وجود دارد؟ كنترل هاي سرور وب مزاياي قابل تـوجهي را نسـبت بـه كنتـرل هـاي

:كه در جدول زير مرور شده اندارائه مي دهند

Page 3: Microsoft Word - asp_net_ch04_final

3

شركت پيشگامان فناوري

كليه حقوق اين جزوه آموزشي متعلق به سايت آموزش الكترونيكي پرشيا ميباشد )[email protected]( نصيريوحيد : استاد دوره ASP.NETآموزشي كالس جزوه

.HTML مقايسه كنترل هاي سرور وب و كنترل هاي -١جدول

Server Controls HTML Controls ويژگيرخدادهاي

سرورمي توانند به رخدادهاي مربوط به كنترل

.پاسخ دهندتنها مي توانند به رخدادهايي در سطح

.صفحه عكس العمل نشان دهند

حفظ حالت ي وارد شده در كنترل بين داده

.درخواست ها ثابت باقي مي ماند

داده ها نگهداري نمي شوند و بايد به صورت دستي و با برنامه نويسي

.اينكار صورت گيرد

سازگاريبه صورت خودكار نوع مرورگر را

تشخيص مي دهد و خود را هماهنگ .مي كند

هيچگونه سازگاري اتوماتيكي وجود يد با برنامه نويسي اينكار ندارد و با

.انجام شود

خواص به ارث رسيده NetFrameWork.از

.شده است در HTMLتنها ويژگي هاي مربوط به .آنها وجود دارد

را كه در فصل پيشين مرور شدند ، ارائه داده HTML با اين مقايسه چرا مايكروسافت كنترل هاي :سؤال :نداست؟ داليل آن به شرح زير هست

قبلـي تنهـا از عناصـر ASPزيرا . به سادگي صورت گيرد ASP.NET قديمي به ASPمهاجرت از •

HTML و يا همان كنترل هاي HTML جديد مي توانست استفاده كند .

.تمام كنترل ها نيازي به رخدادهاي سمت سرور و يا حفظ حالت ندارند • وجـود دارد ، زيـرا بـه صـورت HTMLي كنترل كاملي در مورد شكل نهايي صفحه با كنتـرل هـا •

و خود را هماهنگ ) برخالف كنترل هاي سرور وب ( خودكار نمي تواند نوع مرورگر را حدس بزند .با آن نمايد

در جدول زير كنترل هايي . در حالت كلي ، استفاده از كنترل هاي سرور وب ساده تر و كارآتر مي باشد دات نت مي بينيد با هم مقايسه شده اند و عملي را كه هر كدام انجـام ويژوال استوديو ToolBoxرا كه در

.مي دهند ، مرور گرديده است

Page 4: Microsoft Word - asp_net_ch04_final

4

شركت پيشگامان فناوري

كليه حقوق اين جزوه آموزشي متعلق به سايت آموزش الكترونيكي پرشيا ميباشد )[email protected]( نصيريوحيد : استاد دوره ASP.NETآموزشي كالس جزوه

. HTML مقايسه عملكرد كنترل هاي وب و كنترل هاي -٢جدول

Server Controls HTML Controls عملكرد ,Label, TextBox, Literal Label, TextField نمايش متن

TextArea, PasswordFiled DataGrid, Table Table نمايش جدول

,ListBox, DropDownList انتخاب از ليستRepeater, DataList DropDown, ListBox

,Button, LinkButton انجام دستوراتImageButton

Button, ResetButton, SubmitButton

,CheckBoxList, CheckBox تنظيم مقاديرRadioButtonList, RadioButton

Button, ResetButton, SubmitButton

ImageButton, Image Image نمايش تصاوير )<a>فقط تگ ( - HyperLink حركت بين صفحات Placeholder, Panel FlowLayout, GridLayout كنترل هاي گروهي

- Calendar كار با تاريخ - AdRotator نمايش تبليغات Literal Horizontal rule نمايش خط افقي

FileField - دريافت نام فايل از كالينتذخيره سازي داده ها روي

صفحهبوسيله ي مديريت حالت و به صورت

Input Hidden . خودكار انجام مي شود

ارزيابي داده ها

RequiredFieldValidator, ComareValidator, RangeValidator,

RegularExperssionValidator, CustomValidator,

ValidationSummury

-

. در قسمت هاي آتي نحوه ي استفاده از كنترل هاي وب مرور خواهند شد

Page 5: Microsoft Word - asp_net_ch04_final

5

شركت پيشگامان فناوري

كليه حقوق اين جزوه آموزشي متعلق به سايت آموزش الكترونيكي پرشيا ميباشد )[email protected]( نصيريوحيد : استاد دوره ASP.NETآموزشي كالس جزوه

:كار با متن

براي يك متن فقط خواندني مي توان از . روش هاي زيادي براي نمايش متن روي يك صفحه وجود دارد

:روش هاي زير استفاده كرد ;Response.Write("Some Text") استفاده از دستور •

Labelاستفاده از كنترل • True مساوي ReadOnly با خاصيت TextBoxاستفاده از كنترل • Literalاستفاده از كنترل •

خواص كليدي آن . استفاده كرد TextBox براي نمايش يك متن قابل ويرايش ، مي توان از كنترل سرور

:در جدول زير مرور شده اند

TextBoxواص مهم كنترل خ-٣جدول

نحوه ي استفاده خاصيتText براي دريافت متن از آن ويا نوشتن متن متن در آن بكار برده مي شود.

TextMode مي شود و يا حالت TextArea كه مانند MultiLine و يا SingleLineحالت

Password ReadOnly در صورتTrue دهد بودن ، كاربر نمي تواند آنرا تغيير.

AutoPostBack آن كنترل استفاده كردو TextChanged نشود نمي توان از رخداد Trueتا زماني كه

. استFalseبه صورت پيش فرض

چون نحوه ي استفاده از اين كنترل در طي فصول قبلي در عمل مطالعه گرديد ، لزومـي بـه تكـرار آن در . اينجا نمي باشد

Page 6: Microsoft Word - asp_net_ch04_final

6

شركت پيشگامان فناوري

كليه حقوق اين جزوه آموزشي متعلق به سايت آموزش الكترونيكي پرشيا ميباشد )[email protected]( نصيريوحيد : استاد دوره ASP.NETآموزشي كالس جزوه

:ول و ليست ها اكار با جد

نامبرده شدند ٢ براي آراستن متن در رديف ها و ستون ها بايد از يكي از كنترل هاي ليست كه در جدول بـراي جـداول و ليسـت هـاي ديناميـك ) Table( و جـدول ListBox ، DropDownListاز. استفاده شود

هاي پيچيده ماننـد براي نمايش جدول و ليست Repeater و DataGrid ، DataListاز . استفاده مي گردد در جـدول زيـر مـوارد . آنهايي كه حاوي كنترل ها هستند و يا متصل به پايگاه داده اند استفاده مـي گـردد

.استفاده از كنترل هاي ليست و جدول ، مرور شده اند

.ASP.NET كنترل هاي ليست و جدول -٤جدول

موارد كاربرد كنترلListBox يك ليست با قابليت نمايش متني فقط خواندني در Scroll

DropDownList نمايش متن فقط خواندني در يكDropdownlistساده Table نمايش متن و يا كنترل ها در ستون ها و رديفها

DataGrid نمايش داده ها و كنترلهاي پيچيده در جداول

:اضافه كردن آيتم ها به يك ليست يا جدول در زمان طراحي

اجازه اضافه كردن آيتم هاي اسـتاتيك را در زمـان Table و ListBox ، DropDownListهاي كنترل .طراحي مي دهند و ListBox ، DropDownList مي توان آيتم هاي استاتيك را به يك Collection Editor با استفاده از

).٢شکل (يا جدول اضافه كرد را در Items ، خاصـيت DropDownList يـا ListBox يـك براي اضافه كردن آيتم هاي اسـتاتيك بـه

).٣شکل (پنجره خواص آنها انتخاب كنيد تا پنجره مربوطه باز شود

Page 7: Microsoft Word - asp_net_ch04_final

7

شركت پيشگامان فناوري

كليه حقوق اين جزوه آموزشي متعلق به سايت آموزش الكترونيكي پرشيا ميباشد )[email protected]( نصيريوحيد : استاد دوره ASP.NETآموزشي كالس جزوه

آنرا در پنجره خواص كنترل انتخاب Rows براي اضافه كردن آيتم هاي استاتيك به يك جدول ، خاصيت .نماييد

Collection و سـپس Itemsا مـی تـوان از گزينـه ی برای اضافه کردن آيتم هـا در زمـان اجـر -٢شکل Editor برای کنترل هايي مانند ListBox و DropDownListاستفاده کرد .

Page 8: Microsoft Word - asp_net_ch04_final

8

شركت پيشگامان فناوري

كليه حقوق اين جزوه آموزشي متعلق به سايت آموزش الكترونيكي پرشيا ميباشد )[email protected]( نصيريوحيد : استاد دوره ASP.NETآموزشي كالس جزوه

که برای اضافه کردن آيتم های استاتيک به آن بکـار ListBox يک Collection Editor نمايي از -٣شکل .برده می شود

:در زمان اجراي برنامه اضافه كردن آيتم ها به ليست يا جدول

. آنها ، عضو اضافه كردItems مي توان به كلكسيون Add با استفاده از متد ListBox.Items.Add(….);

اين كنترل تنها داده هايي را براي سلولهاي جدولي . كمي مفصل تر مي باشدTable بحث در مورد كنترل

رديف هاي بيشتر در زمـان اجـرا، براي ايجاد سلولها و . ندذخيره مي كند كه در زمان طراحي ايجاد شده ا در اين زمينه بايد به يك . بايد دوباره جدول را با استفاده از داده هاي ذخيره شده در متغير حالت ، ساخت

).٤شکل (مثال كامل توجه كرد

Page 9: Microsoft Word - asp_net_ch04_final

9

شركت پيشگامان فناوري

كليه حقوق اين جزوه آموزشي متعلق به سايت آموزش الكترونيكي پرشيا ميباشد )[email protected]( نصيريوحيد : استاد دوره ASP.NETآموزشي كالس جزوه

:مثال اول

وی فرم قرار دهيد و نام آنهـا را بـه ر DropDownList ، TextBox ، Table يک دکمه ، ٤ مطابق شکل برای طوالنی نشدن فصل به راحتـي . تغيير دهيد tblEx01 و btnClick ، ddlItems ، txtAddترتيب به

نوشته می شود پس از کليک TextBoxدر اين مثال متنی که در . می توانيد به سورس همراه مراجعه کنيد مفهوم دوباره بازسـازی کـردن ( اضافه می شود Table و DropDownList به Addشدن بر روی دکمه

) . جدول در کد پياده شده است

. تصوير مربوط به مثال اول-٤شکل

:دريافت آيتم انتخاب شده از يك ليست

برای نمونه در مثـال قبـل از دسـتور . مي توان اينكار را انجام داد SelectedItem با استفاده از خاصيت . ان استفاده کرد تا به اين خاصيت دسترسی پيدا کرده و در محلی مناسب از آن استفاده نمودزير می تو

ddlItems.SelectedItem.Text

Page 10: Microsoft Word - asp_net_ch04_final

10

شركت پيشگامان فناوري

كليه حقوق اين جزوه آموزشي متعلق به سايت آموزش الكترونيكي پرشيا ميباشد )[email protected]( نصيريوحيد : استاد دوره ASP.NETآموزشي كالس جزوه

: ساده در كنترل ليست ها Data Bindingنحوه ي

انك براي مثال از يك ب. كنترل ها مقاديرشان را مي توانند از هر منبع داده اي در برنامه شما دريافت كنند :در ساده ترين مرحله آن به مثال زير توجه كنيد. اطالعاتي ، آرايه ، خاصيت يك شيء و غيره

: ٢مثال

را arrDataکد مربوطه که آرايـه ای بـه نـام . درست كنيد DropdownListيك فرم وب را با يك -١

.برای بايند کردن ايجاد می کند در سورس همراه برنامه مالحظه نماييد٢- DropDownList ــه خاصــيت ــوده و روي دكم در پنجــره خــواص DataBinding را انتخــاب نم

.كليك كنيد) ٦و٥شكلهای ( نـام Custom Binding Exp را در اين صفحه انتخاب كنيـد و در قسـمت DataSourceخاصيت -٣

. را بنويسيدarrDataآرايه .برنامه را اجرا كنيد -٤

. DropDownListترل کنDataBinding انتخاب گزينه ی -٥شکل

Page 11: Microsoft Word - asp_net_ch04_final

11

شركت پيشگامان فناوري

كليه حقوق اين جزوه آموزشي متعلق به سايت آموزش الكترونيكي پرشيا ميباشد )[email protected]( نصيريوحيد : استاد دوره ASP.NETآموزشي كالس جزوه

ــکل ــه -٦ش ــف آراي ــوه ی تعري ــرای arrData نح ــع داده ای ب ــورت منب ــه ص ــرل Bind ب ــه کنت ــدن ب شDropDownList .

:نكته

در كنترل هاي سرور استفاده مي كنيد ، مي توان حفظ مـديريت و حالـت را DataBinding هنگاميكه از به صورت اتوماتيك اين مديريت DataBindزايش مي دهد ، زيرا متد اين مورد كارآيي را اف . خاموش كنيد

. كنيدFalse را EnableViewStateبراي اينكار ، خاصيت . خودكار را جايگزين مي كند

Page 12: Microsoft Word - asp_net_ch04_final

12

شركت پيشگامان فناوري

كليه حقوق اين جزوه آموزشي متعلق به سايت آموزش الكترونيكي پرشيا ميباشد )[email protected]( نصيريوحيد : استاد دوره ASP.NETآموزشي كالس جزوه

:RepeaterControls و DataGrid ، DataListاضافه كردن آيتم ها به

اين كنترل هـا بـا اسـتفاده از . آيتم ها را اضافه نمود مي توان به كنترل ها ، data binding با استفاده از Templates يك . ظاهر خودشان را در زمان اجرا تعريف مي كنندTemplate مجموعـه اي از المـان هـاي

HTML است يا كنترل هاي سرور و يا هردو ، كه براي هر آيتم داده در كنترل تكرار خواهد شد . .ن كنترل ها مراحل زير را طي نماييد براي اضافه كردن آيتم ها به اي

. data sourceتعريف -١ . نمودن آنها به منبع دادهBindقرار دادن آنها روي فرم و -٢

يا كنترل هاي سرور كه HTML مربوط به كنترل براي اضافه كردن عناصر Templatesويرايش -٣ . يا ليست تكرار خواهد شدGridدر

كردن آيتم هـا bind يا ليست قرار داده شده اند براي Gridتنظيم خواص كنترل هاي سرور كه در -٤ .به آنها

: ٣مثال

Bind نشان مي دهد و چگونگي DataGrid را به Template مثال زير نحوه ي اضافه كردن ستون هاي :كردن كنترل هاي موجود در آن به يك منبع داده

لطفا به سورس همراه ) . همانند برنامه قبلي (نيد ابتدا يك منبع داده عمومي در برنامه خود تعريف ك -١ .مراجعه کنيد

. را روي فرم قرار دهيدDataGridكنترل -٢روی ( مـي تـوان اضـافه كـرد Property Builder را به آن با اسـتفاده از Templateستون هاي -٣

). ٧شكل . کنترل کليک راست کنيد را در Template كـرده ، سـپس سـتون را انتخـاب Columnsدر صفحه ي ظاهر شده ، گزينه ي -٤

سـتون ٢بـراي ايـن مثـال . كليـك كنيـد ) > (Addليست ستون هـا انتخـاب كنيـد و بـر روي دكمـه Template را اضافه و سپس روي Ok ٨شکل ( كليك نماييد.(

Page 13: Microsoft Word - asp_net_ch04_final

13

شركت پيشگامان فناوري

كليه حقوق اين جزوه آموزشي متعلق به سايت آموزش الكترونيكي پرشيا ميباشد )[email protected]( نصيريوحيد : استاد دوره ASP.NETآموزشي كالس جزوه

مانند مثال ( را انتخاب كنيد و منبع داده را مشخص كنيد DataSourceدر پنجره خواص ، خاصيت -٥ ).٩شكل ( arrDataعني همان ي) قبل

ظـاهر . انتخـاب نماييـد pop-up را از منـوي Columns(0) كليك كنيـد و سـپس DataGridروي -٦ ).١٠شکل ( تغيير مي كند Editكنترل به حالت

. DataGrid مربوط به Property Builder انتخاب -٧شکل

Page 14: Microsoft Word - asp_net_ch04_final

14

شركت پيشگامان فناوري

كليه حقوق اين جزوه آموزشي متعلق به سايت آموزش الكترونيكي پرشيا ميباشد )[email protected]( نصيريوحيد : استاد دوره ASP.NETآموزشي كالس جزوه

. به ديتاگريدTemplate اضافه کردن دو ستون -٨شکل

) . که در اينجا يک آرايه می باشد( انتخاب منبع داده برای ديتاگريد – ٩شکل

Page 15: Microsoft Word - asp_net_ch04_final

15

شركت پيشگامان فناوري

كليه حقوق اين جزوه آموزشي متعلق به سايت آموزش الكترونيكي پرشيا ميباشد )[email protected]( نصيريوحيد : استاد دوره ASP.NETآموزشي كالس جزوه

در سمت چـپ ، ايـن سـتون را آمـاده ويـرايش . ديتا گريد برای ويرايش Columns[0] انتخاب -١٠شکل

. مالحظه می کنيد

كنيد تا Drag مربوط به كنترل ، Templateساير كنترل ها را روي فرم وب قرار دهيد و سپس به -٧ TextBoxبـراي مثـال يـك ) . استفاده مي كنم Cut/Pasteشخصا از ( اضافه شوند DataGridبه

) .١١شکل ( كنيد Columns(0) ، Dragروي فرم قرار دهيد و سپس آنرا به

كه بـه TextBoxمربوط به كنترل ( را انتخاب كنيد DataBindingدر پنجره ي خواص ، خاصيت -٨templateو بر روي دكمه ظاهر شده كليك كنيد) ١٢شكل ) ( اضافه كرده ايد.

براي اين مثال ، . ، خاصيتي را انتخاب كنيد تا آيتم داده را دريافت كند Bindableدر ليست خواص -٩Text ، ــد ــاب كني ــر روي Simple Binding را انتخ ــپس ب ــد و س ــاب كني و Container را انتخ

DataItem ليك كنيد تا مشخص نماييد كه كدام آيتم داده در خاصـيت انتخـاب شـده قـرار گيـرد ك . . كليك كنيد تا اين صفحه بسته شودOkروي

Page 16: Microsoft Word - asp_net_ch04_final

16

شركت پيشگامان فناوري

كليه حقوق اين جزوه آموزشي متعلق به سايت آموزش الكترونيكي پرشيا ميباشد )[email protected]( نصيريوحيد : استاد دوره ASP.NETآموزشي كالس جزوه

. در ديتاگريدColumns[0] بر روی TextBox قرار دادن يک -١١شکل

. برای کنترلی که ديتاگريد اضافه کرده ايمBinding انتخاب نوع -١٢شکل

Page 17: Microsoft Word - asp_net_ch04_final

17

شركت پيشگامان فناوري

كليه حقوق اين جزوه آموزشي متعلق به سايت آموزش الكترونيكي پرشيا ميباشد )[email protected]( نصيريوحيد : استاد دوره ASP.NETآموزشي كالس جزوه

كليـك راسـت DataGridبراي اينكار بـر روي كنتـرل . را ويرايش كنيد Templateن ستون دومي -١٠

. انتخاب نماييدpop-up را از منوي Columns(1)كنيد و سپس Dragبراي اين مثال ، يك دكمه ترسـيم كنيـد و آنـرا . را براي اين ستون تكرار كنيد ٧ تا ٤ مراحل -١١

. DataGridمربوط به Template در Columns(1)كنيد به

. ديتا گريدColumns[1] قرار دادن يک دکمه در -١٣شکل

١٢- Template براي اينكار روي آن كليك راست كنيـد . را هنگاميكه كار شما پايان يافته است ، ببنديدهـاي ويژوال استوديو كنترل . انتخاب كنيدpop-up را از منوي End Tempalate editingو گزينه ي

بـراي تغييـر خـواص هـر كـدام از كنتـرل هـا ، بايـد . نمـايش مـي دهـد ١٤-موجود در آنرا مانند شكل Templateرا همانگونه كه تا بحال ويرايش كرده ايم ، تغيير داد .

Page 18: Microsoft Word - asp_net_ch04_final

18

شركت پيشگامان فناوري

كليه حقوق اين جزوه آموزشي متعلق به سايت آموزش الكترونيكي پرشيا ميباشد )[email protected]( نصيريوحيد : استاد دوره ASP.NETآموزشي كالس جزوه

. شکل نهايی گريد پس از اتمام کار ويرايش -١٤شکل

:انجام دستورات

. براي انجام دستورات بكار برده مي شوندImageButton و Button ، LinkButton كنترل هاي سرور اينگونـه رخـدادها از طـرف مرورگـر . مـي شـوند Post-Backاين كنترل ها سبب وقوع رخدادهايي به نام

.درخواست شده و سبب مي شوند كه سرور به آن پاسخ دهد .ه مثال زير توجه كنيد براي اينكه ترتيب رخدادهاي اتفاق افتاده در يك صفحه را ببينيم ب

: ٤مثال

AutoPostBack). ١٥شـکل ( را روي فـرم قـرار دهيـد Button و يك كنترل TextBox ، ListBox يك ليسـت بـاکس را بـا سـه آيـتم دلخـواه Page_Loadدر رخداد . کنيدTrueتکست باکس و ليست باکس را

. اضافه کنيدسپس کدهای زير را به رخدادهای مختلف صفحه. پرکنيد

Page 19: Microsoft Word - asp_net_ch04_final

19

شركت پيشگامان فناوري

كليه حقوق اين جزوه آموزشي متعلق به سايت آموزش الكترونيكي پرشيا ميباشد )[email protected]( نصيريوحيد : استاد دوره ASP.NETآموزشي كالس جزوه

private void Page_Load(object sender, System.EventArgs e) { Response.Write("Page load.<br>"); if ( ! Page.IsPostBack ) // run 1 time { ListBox1.Items.Add("1"); ListBox1.Items.Add("2"); ListBox1.Items.Add("3"); } } private void TextBox1_TextChanged(object sender, System.EventArgs e) { Response.Write("Text changed.<br>"); } private void ListBox1_SelectedIndexChanged(object sender, System.EventArgs e) { Response.Write("Item selected.<br>"); } private void Button1_Click(object sender, System.EventArgs e) { Response.Write("Page load.<br>"); }

Page 20: Microsoft Word - asp_net_ch04_final

20

شركت پيشگامان فناوري

كليه حقوق اين جزوه آموزشي متعلق به سايت آموزش الكترونيكي پرشيا ميباشد )[email protected]( نصيريوحيد : استاد دوره ASP.NETآموزشي كالس جزوه

. ٤ نمونه ای از اجرای برنامه – ١٥شکل

قابليـت ImageButtonكنترل . بسيار واضح و سرراست مي باشد LinkButton و Button استفاده از مكاني هستند كه با مـاوس روي y و xرخداد كليك آن حاوي آرگومانهاي . را ارائه مي دهد هاي بيشتري

. هم مي گويندImageMapsآن كليك كرده ايد و به آن

:دريافت مقادير از كاربر

ــرل هــاي ــا اســتفاده از كنت ــا RadioButton ، RadioButtonList ، CheckBox ب CheckBoxList ي DropDownList و ListBoxهمانند كنترل هاي . هاي بولي و غيره را از كاربر دريافت كردمي توان داده

Page 21: Microsoft Word - asp_net_ch04_final

21

شركت پيشگامان فناوري

كليه حقوق اين جزوه آموزشي متعلق به سايت آموزش الكترونيكي پرشيا ميباشد )[email protected]( نصيريوحيد : استاد دوره ASP.NETآموزشي كالس جزوه

CheckBoxList يـا RadioButtonList براي اضافه كـردن آيـتم بـه Collectionمي توان از ويرايشگر . آنها در پنجره ي خواص كليك كرد Itemsبراي اينكار بايد بر روي خاصيت . استفاده كرد

RadioButton يـا CheckBox در آنها مي توان متوجه شـد كـه آيـا Checkedاستفاده از خاصيت با .انتخاب شده اند يا خير

هـا بـرخالف RadioButton را روي فـرم قـرار مـي دهيـد بـا سـاير RadioButtonهنگاميكه شما يك آنها را براي GroupNameبراي اين منظور بايد خاصيت . ، برهم كنشي نداردOptionButtonكنترل هاي

. مشخص كردradioButtonهر ــا تنظــيم مقــادير ــا CheckBoxList بــراي دريافــت و ي foreach ، از حلقــه ي RadioButtonList و ي

آنها بـراي فهميـدن انتخـاب شـدن يـا خيـر، Selectedبراي اين كنترلها از خاصيت . مي توان استفاده كرد .مي توان استفاده كرد

:٥مثال

. بنويسـيم RadioButtonList می خواهيم يک مثال ساده برای آشنايی با نحوه استفاده از کنتـرل هـای

آن در صـفحه ی Itemsسپس روی گزينه ی . و يک دکمه را روی فرم قرار دهيد RadioButtonListيک ). ١٧و١٦شکلهای (سه گزينه ی دلخواه به آن اضافه نماييد . خواص کنترل کليک کنيد

Page 22: Microsoft Word - asp_net_ch04_final

22

شركت پيشگامان فناوري

كليه حقوق اين جزوه آموزشي متعلق به سايت آموزش الكترونيكي پرشيا ميباشد )[email protected]( نصيريوحيد : استاد دوره ASP.NETآموزشي كالس جزوه

. RadioButtonList اضافه کردن سه آيتم دلخواه به کنترل – ١٦شکل

. ٥ تصوير نهايی فرم مثال -١٧شکل

Page 23: Microsoft Word - asp_net_ch04_final

23

شركت پيشگامان فناوري

كليه حقوق اين جزوه آموزشي متعلق به سايت آموزش الكترونيكي پرشيا ميباشد )[email protected]( نصيريوحيد : استاد دوره ASP.NETآموزشي كالس جزوه

:سپس از کد زير استفاده نماييد

private void Button1_Click(object sender, System.EventArgs e) { foreach ( ListItem lstItem in RadioButtonList1.Items ) { if ( lstItem.Selected ) Response.Write(lstItem.Text + " is selected.<br>"); } }

:نمايش گرافيك و تبليغات

. روش هاي مختلفي براي نمايش گرافيك روي فرم وجود داردك تصوير را روي كل فرم وب مي توان ي BackGroundبا استفاده از خاصيت : بعنوان پس زمينه -١

مي توان در قسمتي از صـفحه Panel يك كنترل BackImageURLبا استفاده از . صفحه قرار داد .بجاي كل صفحه تصوير را نمايش داد

ــوان -٢ ــرل : foregroundبعن ــتفاده از كنت ــا اس ــيت Imageب ــوان خاص ــي ت ــم م ــرا ه ــان اج در زمImageURLآنرا تنظيم كرد .

.ImageButtonتفاده از كنترل با اس: بعنوان يك دكمه -٣ براي نمايش تصاوير از ليستي از موارد تبليغاتي AdRotatorبا استفاده از كنترل : بعنوان تبليغات -٤

.

AdRotatorكنتـرل . براي تبليغات است ASP.NET استفاده ي معمول از تصاوير گرافيكي در صفحات بـراي بـه نوبـت نمـايش دادن تصـاوير تبليغـي XMLيـل كه براي اين منظور بكار برده مي شود از يك فا

آدرس تصاوير تبليغي قرار مي گيرد بعالوه آدرس صفحه اي كـه اگـر XMLدر اين فايل . استفاده مي كند در زمان اجرا ، . كاربر روي تصوير كليك كرد باز شود و همچنين حق تقدم تصوير و ساير خواص اينگونه

را انتخـاب كـرده و آنـرا XMLرد تبليغاتي موجود و ليست شده در فايل ، يكي از موا AdRotatorكنترل . روي صفحه نمايش مي دهد

Page 24: Microsoft Word - asp_net_ch04_final

24

شركت پيشگامان فناوري

كليه حقوق اين جزوه آموزشي متعلق به سايت آموزش الكترونيكي پرشيا ميباشد )[email protected]( نصيريوحيد : استاد دوره ASP.NETآموزشي كالس جزوه

: بايد مراحل زير طي شود AdRotator براي استفاده از كنترل . روي فرم قرار دهيدAdRotatorيك كنترل -١ . را ازمنوي پروژه ايجاد كنيدXMLيك فايل -٢ را انتخـاب كـرده و سـپس از منـوي پـايين افتـادني TargetSchemaدر پنجره خواص ، خاصيت -٣

AdRotator Schedule fileرا انتخاب كنيد . ــاي -٤ ــگ ه ــود ، ت ــايش داده ش ــت نم ــرار اس ــه ق ــويري ك ــر تص ــراي ه ــمت <Ad>ب ــه قس را ب

<Advertisement> فايل XMLاضافه كنيد .

. را ذخيره كنيد و به فرم وب بازگرديد XMLفايل -٥

ايي كه XML را به فايل AdvertisementFile ، خاصيت AdRotatorكنترل در پنجره ي خواص -٦ .درست كرده ايد ، ارجاع دهيد

. زير برای نمايش سه تبليغ بکار می رودXML براي مثال فايل

<Advertisements> <Ad> <ImageUrl>./SampleBanner.gif</ImageUrl> <NavigateUrl>http://www.google.com</NavigateUrl> <AlternateText>Cick me now!</AlternateText> <Keyword>ShowMe</Keyword> <Impressions>71</Impressions> </Ad> <Ad> <ImageUrl>./AnotherSample.gif</ImageUrl> <NavigateUrl>http://www.microsoft.com</NavigateUrl> <AlternateText>Go to Microsoft Site</AlternateText> <Keyword>ShowMe</Keyword> <Impressions>70</Impressions> </Ad> <Ad> <ImageUrl>./DoesNotExist.gif</ImageUrl> <NavigateUrl>http://www.microsoft.com</NavigateUrl> <AlternateText>Won't see me</AlternateText> <Keyword>DoNotShowMe</Keyword> <Impressions>2000</Impressions> </Ad> </Advertisements>

Page 25: Microsoft Word - asp_net_ch04_final

25

شركت پيشگامان فناوري

كليه حقوق اين جزوه آموزشي متعلق به سايت آموزش الكترونيكي پرشيا ميباشد )[email protected]( نصيريوحيد : استاد دوره ASP.NETآموزشي كالس جزوه

. AdRotator تگ هاي تعريف شده براي -٥جدول

Tag معنا <Ad> يكAdرا شروع مي كند .

<ImageURL> كه بايد نمايش داده شودآدرس تصويري . <NavigateURL> با كليك كردن كاربر بر روي تصوير به اين آدرس هدايت مي شود.

<AlternativeText> نمايش داده مي شود و اگر تصوير به هر دليلي نمايش داده ToolTipبه صورت

.نشود اين متن جايگزين آن مي شود<Keyword> براي فيلتر كردنAdوه هاي مختلف ها به گر.

<Impression> هايي با اعداد باالتر ، احتمال نمايش Ad. نمايانگر احتمال نمايش فايل تبليغي است

.بيشتري دارند

:كنترل هاي گروهي

براي مثال يكي از كاربردهاي كنترل هاي گروهي اين است كه شما يك صفحه الگين درسـت كنيـد و در مربوط به صورت يك گروه قرار گيرند و پس از الگين كردن آنهـا را مخفـي يك قسمت صفحه كنترل هاي

.كنيد و قسمت ديگر صفحه را نمايش دهيدبايـد . روي اين كنترل نمي توان كنترل ها را ترسـيم كـرد . براي اينكار استفاده مي شود Panel از كنترل

ايــن نــوع كنتــرل هــا از سيســتم . شــودDragابتــدا كنتــرل روي فــرم قــرار گيــرد و ســپس بــه روي آن FolwLayout كه در مورد آن صحبت شد ، استفاده مي كنند و فقط از Space و يا Enter مي توان براي

. تنظيم مكان آنها استفاده كرد

Page 26: Microsoft Word - asp_net_ch04_final

26

شركت پيشگامان فناوري

كليه حقوق اين جزوه آموزشي متعلق به سايت آموزش الكترونيكي پرشيا ميباشد )[email protected]( نصيريوحيد : استاد دوره ASP.NETآموزشي كالس جزوه

:كار با تاريخ

ن كنتـرل از براي كار بـا ايـ . با استفاده از كنترل تقويم مي توان اطالعات مربوط به روزها را نمايش داد ــدادهاي ــواص SelectionChangedرخـ ــين خـ ــود و همچنـ ــي شـ ــتفاده مـ ــا SelectedDate اسـ و يـ

SelectedDates . رخدادSelectionChanged رخدادي post-back مي باشد بنابراين بـه محـض تغييـر .تاريخ ، سرور را مطلع مي نمايد

Page 27: Microsoft Word - asp_net_ch04_final

27

شركت پيشگامان فناوري

كليه حقوق اين جزوه آموزشي متعلق به سايت آموزش الكترونيكي پرشيا ميباشد )[email protected]( نصيريوحيد : استاد دوره ASP.NETآموزشي كالس جزوه

: تمرين

تصويری متشکل از چهار دايره هـم مرکـز را روی فـرم قـرار ImageButtonبا استفاده از کنترل -١برنامـه ای ). بهتر است شعاع هر دايره نسبت به دايره مرکزی به مقـدار ثـابتی اضـافه شـود (دهيد

.بنويسيد که مشخص کند کاربر بر روی کدام دايره کليک کرده استافيکی تبليغی اضـافه کـرده و برنامـه را فايل گر٤ به فرم برای نمايش دادن AdRotatorيک کنترل -٢

.تکميل نماييددر مرحلـه ی اول نـام و نـام . مرحلـه ای درسـت کنيـد ٢ يـک ويـزارد Panelبا استفاده از کنتـرل -٣

سپس اين پنل مخفی شده و پنل دوم برای گـرفتن آدرس ايميـل و . خانوادگی کاربر گرفته می شود يز مخفی شده و در يک پنـل ديگـر خالصـه اطالعـات سپس اين پنل ن. محل اقامت او ظاهر می شود

. دريافت شده نمايش داده می شود Labelيک کنترل تقويم روی فرم قرار دهيد بطوريکـه روز انتخـاب شـده از طـرف کـاربر در يـک -٤

. نمايش داده شود