در موضوع منتخب این رساله، افراد مسئول در تولید، عبارتند از: مدیر مسئول، ویرایشگر، خبرنگاران و نویسندگان ثابت و افتخاری.
از جمله وظایفی که تحت وب انجام می گیرد به طور اجمالی عبارت است از:
خبرنگاران و نویسندگانی که می توانند در هر موقعیت مکانی باشند، بعد از عضویت در سایت، مطالب خود را هر ماه به مجله ارسال می دارند.
ویرایشگر پس از بررسی مطالب ارسالی و تایید اولیه آنها توسط مدیر مسئول ویرایش و تایید نهایی هر مطلب را به عهده دارد.
نهایتاً پس از تایید نهایی، مطالب تأیید شده به صورت اتوماتیک، با توجه به تاریخ، در هر صفحه جای می گیرد و خوانندگان قادر به استفاده از مطالب مندرج خواهد بود.
البته مدیر مسئول وظایف دیگری از قبیل نظارت بر اعضاء سایت و کارکردشان و استفاده از آرشیو مجله را نیز به عهده دارد، که در هر زمینه امکانات و دسترسیهای لازم به صورت سیستماتیک برای مدیر مسئول فوق فراهم میباشد.
علاوه بر مطالب فوق، بازدیدکنندگان سایت قادرند نظرات و پیشنهادات خود را پس از مطالعه مطالب ماهانه، برای مجله ارسال کنند.
و همچنین یک موتور جستجو نیز در سایت قرار داده شده تا افراد قادر به جستجوی مطالب مورد نظرشان باشند.
مشاهده آرشیو مطالب از امکانات دیگری است که بازدیدکنندگان به آن دسترسی دارند.
علاوه بر امکان ارتباط میان اعضاء و مسئولین تولید مجله با هم، بازدیدکنندگان سایت نیز قادرند با مدیر مسئول از طریق ایمیل ارتباط برقرار کنند.
به طور کلی این سایت امکان تولید و دسترسی به مطالب فراهم آمده برای بازدیدکنندگان را از طریق وب فراهم می آورد.
بخش اول
ابزار و روشها
فصل 1
1-1-1 مروری بر ASP.NET
1-1-1-1- صفحات سرور فعال (ASP)
علت بررسی فناوریهای قبل از ASP.NET ، به جزئیات پیادهسازی ASP.NET و فناوری قبل از آن، یعنی ASP بستگی دارد.
درک ASP مستلزم درک ISAPI و درک ASP.NET مستلزم درک ASP است.
وقتی ISS2.0 به عنوان بخشی از ویندوز NT4.0 مطرح شد، میکروسافت فناوری جدیدی را به نام Denali ارائه داد.
این فناوری در دوره فعال بودن شرکت میکروسافت ایجاد شد و به همین دلیل نام آن صفحات سرور فعال (ASP) انتخاب گردید.
چندین نسخه از ASP عرضه شد، مثل IIS 4.0 , ASP 2.0 در ویندوز IIS 5.0, ASP.3,NT در ویندوز 2000.
ASP نوع متفاوتی از محیط توسعه است.
اولاً یک محیط اسکریپتی است.
صفحه را به راحتی ویرایش میکنید، آن را در پوشه مناسبی قرار میدهید و مجوزهای مناسبی به آنها اختصاص میدهید.
این صفحات توسط مرورگر فراخوانی میشوند.
ثانیاً، کد ASP میتواند با HTML ترکیب شود.
کد ASP معمولاً در ویژوال بیسیک نسخه اسکریپتی (VBScript) نوشته میشود، ولی از Jscript نیز میتوان استفاده کرد.
مزایایASP : فناوریASP به سرعت مورد توجه قرار گرفت، زیرا کار دشوار ساخت صفحات پویا را به راحتی انجام داد.
ایجاد برنامههای کاربردی ISAPI, CGI چندان دشوار نبود، ولی استفاده از ASP بسیاری آسان است.
به طور پیشفرض، ASP از VBScript استفاده میکند.
میلیونها نفر با VBScript آشنایی دارند که از طریق ASP میتوانند وارد دنیای اینترنت شوند.
به همین دلیل، ASP راه مناسبی برای ساخت صفحات وب است.
علاوه بر این، از طریق ADO امکان دستیابی آسان به بانک اطلاعاتی را فراهم میسازد.
برای ساخت محتویات پویا، باید آن محتویات را از جایی دریافت کرد که ADO این امکان را فراهم میکند.
توجه داشته باشید که ADO یک واسط نرمافزاری است که میتواند با سیستمهای مدیریت بانک اطلاعاتی مثل اکسس و SQL Server ارتباط برقرار کند.
مدل برنامهنویسی ASP اجازه نوشتن کد و اجرا را میدهد و نیازی به دنبال کردن مراحل کامپایل و نصب نیست.
همانطور که خواهدید دید، ASP.NET نیز از همین روش استفاده میکند.
معایب ASP: فناوری ASP ابزار قدرتمندی برای تولید برنامههای بزرگ وب است.
وب سایتهایی مثل www.microsoft.com و بسیاری از سایتهای بزرگ و کوچک دیگر، با موفقیت از ASP استفاده کردند.
اولین چیزی که در مورد ASP مطرح است، سربار ناشی از تفسیر کد VBScript یا Jscript در هر درخواست است.
در اغلب سایتهای متوسط ASP، بیشتر گلوگاهها ناشی از دستیابی به بانک اطلاعاتی و به هنگامسازی آن است تا موتور اسکریپتی ASP .
نسخههای بعدی ASP در ارائه سرویس به صفحات اسکریپتی کارآمدتر شدند.
ASP محیط برنامهنویسی قابل اعتماد، قدرتمند و کاملاً مقیاسپذیی را برای بانک اطلاعتی فراهم نمیکند.
انواع در VBScript فاقد هر نوع هستند.
وقتی مقداری در متغیری قرار میگیرد، نوع آن تعیین میشود، ولی این نوع دائمی نیست و قابل تغییر است.
به این ترتیب، احتمال بروز خطا بیشتر میشود.
مسئله دیگر، توانایی ترکیب HTML و اسکریپت است.
به این ترتیب، کدهای اسکریپت در داخل HTML پراکنده میشود.
چون با هر اجرای اسکریپت باید تعویض بستر صورت گیرد (از HTML به VBScript و برعکس)، کارایی آسیب میبیند.
1-1-1-2 ASP.NET
وقتی ASP3.0 به همراه ویندوز 2000 ارائه شد، روشن شد که آینده تولید نرمافزار به آینده وب گره خورده است.
پس از آن، شرکت میکروسافت نسخه جدید ASP را به نام ASP.NET ارائه کرد که سهولت کدنویسی ASP را دارد، به طوری که برنامه را مینویسید، درپوشهای قرار میدهید، امتیاز دستیابی برای آن تعیین میکنید و به راحتی قابل اجرا است.
ASP.NET نوآوریهایی دارد که منجر به تفکیک هسته برنامه کاربردی از نمایش آن میشود.
ASP.NET ویژگیهای جدیدی به ASP اضافه نمود و قابلیتهای آن را افزایش داد.
ASP.NET فقط بهبود تدریجی ASP نیست، بلکه یک محصول کاملاً جدید است.
ویژگیهای ASP.NET عبارت است از:
محیط کاری NET: محیط کاری NET معماریی است که ساخت برنامههای کاربردی وب و سنتی را آسانتر میسازد.
در ادامه به شرح این محیط کاری میپردازیم.
زبان مشترک زمان اجرا (CLR) زبان مشترک زمان اجرا، مجموعهای از سرویسها را برای تمام زبانهای ASP.NET فراهم میسازد.
به عبارت دیگر، مجموعهای از انواع مشترک را برای بسیاری از زبانها تهیه میکند.
زبانهای کامپایلری ASP.NET با استفاده از زبانهای کامپایلری کارایی پیشرفتهای را ارائه میکند، زبانهای کامپایلری به برنامهنویس اجازه میدهند تا صحت برنامه را از نظر نحوی بررسی کند.
ASP چنین امکانی را فراهم نمیکند، لذا سادهترین خطای نحوی نیز تا اولین اجرا مشخص نمیشوند.
زبانهای جدید: ویژوالبیسیک نت نسخه کاملاً جدیدی از ویژوال بیسیک است
زبانهای جدید: ویژوالبیسیک نت نسخه کاملاً جدیدی از ویژوال بیسیک است که نحو آن زیباتر میباشد.
C# (که c شارپ تلفظ میشود) زبان جدیدی است که مشابه با C++ و فاقد ویژگیهای ناامن C++ است.
ویژوال استودیونت: ویژوال استودیونت محیط توسعه جدیدی است که در آن برنامهها را به سرعت میتوان اجرا کرد.
مولفههای جدید: محیط کاری NET از انواع جدیدی از مولفههای پشتیبانی میکند که در ASP وجود نداشتهاند.
فرمهای وب: ابزارهای مناسبی برای ایجاد صفحات پویا هستند که از طریق آنها میتوان ورودیهای کاربر را دریافت کرد.
سرویسهای XML وب: با استفاده از سرویس های XML وب میتوان خدماتی ایجاد کرد و سپس آنها را با استفاده از قراردادهای استاندارد صنعت مهیا نمود.
ADO.NET: فناوری ADO در محیط کاری NET، فناوری جدیدی است که موجب میشود برنامههای کاربردی ASP.NET به راحتی به اطلاعات موجود در بانک اطلاعاتی رابطهای یا قالبهای دیگری مثل XML دستیابی داشته باشند.
تاریخچه مختصری از ساخت صفحات وب، باید اشتیاق مطالعه ASP.NET را در شما فراهم کرده باشد.
یادگیری یک زبان برنامهسازی یا محیط توسعه برنامه، خیلی شبیه به یادگیری زبان طبیعی است.
1-1-1-3 محیط کاری NET نقطه شروع برای تحلیل محیط کاری NET درک این نکته است که NET شامل فناوریهای مختلف است، از جمله: زبانهای NET : C#NET و ویژوال بیسیک نت زبانهای متداولیاند که برای تولید برنامههای کاربردی ASP.NET به کار میروند.
ویژوال بیسیک نت نسخه پیشرفته ویژوال بیسیک است و C#NET شبیه به C++ است.
کتابخانه کلاس NET : هزاران قطعه از قابلیتهای از پیش تعیین شدهاند که میتوان در برنامههای کاربردی به کار گرفت.
این قطعات گاهی در مجموعهای از فناوریها مثل ADO.NET (فناوری ایجاد برنامههای بانک اطلاعاتی) و فرمهای ویندوز (فناوری ایجاد واسطهای کاربر) نهفتهاند.
توجه کنید که محیط کاری NET بیش از 3400 کلاس دارد.
بعضی از بخشهای کتابخانه کلاسها هیچ وقت در طراحی صفحات وب مورد استفاده قرار نمیگیرند (مثل کلاسهایی که برای ایجاد برنامههای کاربردی با واسطهای ویندوز استفاده میشوند).
بخشهای دیگر مستقیماً برای ساخت صفحات وب به کار میآیند، مثل ایجاد سرویسهای وب، و واسط کاربر برای فرمها.
بعضی دیگر از بخشهای کتابخانه کلاسها برای برنامهنویسیهای مختلفی به کار میروند و مخصوص وب یا ویندوز نیستند.
این کلاسهای پایهای هستند که برای تعریف متغیر، ورودی- خروجی، دستیابی به دادهها ، اطلاعات XML و غیره به کار میروند.
زبان مشترک زمان اجرا: موتور زمان اجرای NET است که تمام برنامههای NET را اجرا میکند و خدمات نوینی مثل مدیریت حافظه خودکار، امنیت، بهینهسازی و جمعآوری زبالهها (محلهایی از حافظه که نمیتوان به آنها مراجعه کرد) را انجام میدهد.
ASP.NET: یک محیط خدماتی است که در آن میتوان برنامههای کاربردی وب و سرویسهای وب را به هر یک از زبانهای NET نوشت، به طوری که از ویژگیهای کتابخانه کلاس NET نیز استفاده می شود.
برای پی بردن به ویژگیهای ASP.NET بررسی محدودیتهای ASP مفید واقع میشود.
به عبارت دیگر، قبل از درک راهحل NET، لازم است با مشکلاتی آشنا شوید که برنامهنویسان ASP با آنها مواجهاند: محدودیتهای اسکریپت: برنامههای ASP بر اساس VBScript نوشته میشوند که محدودیتهای خاصی دارد.
برای برطرف کردن این محدودیتها، برنامهنویسان مجبور می شوند از مولفههای دیگر استفاده کنند که منجر به پیچیدگی بیشتری میشود.
در ASP.NET، صفحات در زبانهای نوین NET طراحی میشوند، نه با استفاده از اسکریپتها.
مشکلات پیکربندی وب سایت: با توجه به ماهیت عملکرد ASP, COM به راحتی نمیتوان مولفههای مورد استفاده در وبسایت را به هنگام سازی کرد.
اغلب، لازم است سرور متوقف و دوباره راهاندازی شود که این کار در سرور خوب، عملی نیست در ASP.NET امکاناتی وجود دارد که وبسایتها را به طور پویا میتوان به هنگامسازی و دوباره پیکربندی کرد.
فقدان ساختار برنامه کاربردی : کد ASP مستقیما در زبان HTML قرار داده میشود.
این موضوع، برای زبانهای شیءگرای نوین پسندیده نیست، زیرا برای استفاده مجدد از آن کدها، نیاز به تغییرات زیادی در آنها است.
محدودیتهای حالت: یکی از قویترین ویژگیهای ASP، قابلیتهای حالت تماس مجتمع است.
اما در مواردی که وبسایت توسط چند میزبان اداره میشود، از این قابلیت استفاده نمیشود.به عنوان مثال، یک مشتری ممکن است به سرور B دستیابی باشد، در حالی که اطلاعات تماس آن در سرور A موجود بود و اکنون از بین رفته است.
ASP.NET برای جلوگیری از این مسئله، اطلاعات حالت را در یک مخزن مرکزی مثل یک فرایند، یا بانک اطلاعاتی ذخیره میکند که تمام سرورها میتوانند به آن دستیابی داشته باشند.
ویژوال استودیونت: ویراستاری است که محیط قدرتمندی را برای ایجاد برنامههای کاربردی پیشرفته فراهم میسازد.
بعضی از ویژگیهای آن عبارتند از: تشخیص خطای خودکار: هنگام اجرای برنامه، اشکالات نحوی برنامه را پیدا کرده گزارش میکند.
به این ترتیب، در وقت برنامهنویسی صرفهجویی می شود.
برای گزارش خطا، زیر واژههایی که ممکن است تولید خطا کنند، خط میکشد.
ابزارهای اشکالزدایی: این ابزارها موجب ردیابی اجرای برنامه و مشاهده محتویات متغیرها میشوند.
طراحی صفحه با استفاده از طراح فرم وب که در ویژوال استودیونت فراهم است، میتوان صفحات جذابی را به سادگی طراحی کرد.
کمکرسانی خودکار: هنگام کد نویسی، لیستی از متدها، خواص و رویدادهای اشیا را به همراه پارامترهای مورد نیاز متدها نمایش میدهد که این کار منجر به کاهش میزان خطای نحوی و تسریع در برنامهنویسی میشود.
مشخصات زبان مشترک (CLS): استاندارد و خواستههایی را مشخص میکند که به شرکتهای دیگر اجازه طراحی و نوشتن زبانهایی را میدهد که بتوانند تحت CLR (زبانمشترک زمان اجرا)، اجرا شوند به عبارت دیگر، مجموعهای از قوانین و مقررات است که موجب میشود زبانها خواص مشترکی را دارا باشند.
سرویسهای COM+ : COM نقشه استانداری را برای چگونگی قراردادن عملیات اشیا در حافظه ارائه میکند.
COM+ نسخه پیشرفته COM است که ویژگیهای جدیدی را به کتابخانه COM اضافه کرد.
مرز بین این مولفهها روشن نیست، به عبارت دیگر نمیتوان آنها را به طور کامل از هم تفکیک کرد.
به عنوان مثال، از یک طرف ASP.
NET به کل برنامههای کاربردی وب گفته میشود که با زبانهای NET ساخته میشوند و شامل مسائل ویراستاری و زبانهای NET و بسیاری از قطعات کتابخانه کلاسها است که مخصوص وب نمیباشند.
در این کتاب منظور ما از ASP.NET، شامل مفاهیم پایه NET، زبان VB.NET و موضوعاتی است که برنامهنویسان NET از آنها بهره میبرند، مثل برنامهنویسی بر اساس مولفهها و ADO.NET برای دستیابی به دادهها.
1-1-2 انواع فایلها در ASP.NET برنامه کاربردی ASP.NET از برنامههای کاربردی همتای ASP پیچیدهتر هستند و از چندین نوع فایل پشتیبانی میکنند.
علاوه بر این، پوشه مربوط به وبسایت میتواند حاوی فایلهایی باشد که مخصوص ASP.NET نباشند.
مثل فایل تصویر، فایلهای HTML و فایلهای مربوط به شیوه نامهها (فایلهای CSS).
ویژوال استودیونت، به طور خودکار فایل styles.css را به پروژه اضافه میکند که میتوانید سبکهای مورد استفاده در کنترلهای صفحات وب را به آن اضافه کنید.
البته این فایلها بیشتر با HTML به کار میروند تا ASP.NET اغلب این فایلها اختیاری اد.
میتوانید برنامههای کاربردیی بنویسید که فقط شامل فایلهای aspx یا asmx باشند.
انواع فایلها در ASP.NET aspx: صفحات ASP.NET حاوی واسط کاربر وتمام یا بخشی از کد است.
کاربران باید مستقیماً به یکی از این فایلها برای شروع وبسایت مراجعه کنند.
ascx: کنترلهای کاربر هستند.
خیلی شبیه به صفحات وب هستند، ولی در داخل فایل aspx اجرا میشوند.
با استفاده از این فایلها میتوان واسط کاربر مناسبی را طراحی کرد.
asmx : خدمات وب ASP.NET هستند.
خدمات وب متفاوت از صفحات وب عمل میکنند، اما از منابع تنظیمات پیکربندی و حافظه مشترکی بهره میبرند.
Web.congig: فایل پیکربندی برنامه کاربردی ASP.NET است که بر اساس XML نوشته میشود.
این فایل شامل تنظیمات امنیتی، مدیریت حالت و حافظه و غیره است.
global.asax: فایل برنامه کاربردی سراسری است.
از این فایل برای تعریف متغیرهای عمومی و پاسخ به رویدادهای عمومی استفاده میشود.
disco یاvsdisco :فایلهای پوشه ای خاصاند که مشتریان با استفاده از آنها میتوانند خدمات وب را بیابند.
csیاbv: فایلهای کد هستند که در ویژوال بیسیک با c# تشکیل می شوند.
این فایلها موجب میشوند کد از منطق واسط کاربر در صفحه وب تفکیک شود.
resx: این فایلها هنگام استفاده از ویژوال استودیونت ایجاد میشوند و برای ذخیره اطلاعاتی به کار میروند که هنگام طراحی اضافه میکنید.
vbproj,suo,sln,csproj : این فایلها توسط ویژوال استودیونت برای دستهبندی پروژهها (مجموعهای از فایلها در برنامه کاربردی وب) و راهحلها (مجموعهای از پروژهها) به کار میروند.
لیستی از فایلهای مرتبط و گزینههای مربوط به محیط ویژوال استودیونت را ذخیره میکنند.
این فایلها در هنگام نوشتن صفحات وب به کار میآیند و نباید به وب سرور ارسال شوند.
تنظیمات امنیتی ASP.NET مانع از دستیابی کاربران به این فایلها میشود.
فصل 2 1-2-1 فرمها و کنترلهای وب فرمها اساس کار صفحات وب در ASP.NET میباشند.
با استفاده از فرمها میتوان ورودیهای کاربر را دریافت و پردازش کرد و نتایج را در اختیار کاربر قرار داد.
در واقع، فرمها موجب پویایی صفحات وب می شوند.
به عبارت دیگر، فرمهای وب، فناوری ASP.NET برای ایجاد صفحاتی است که قابل برنامهنویسیاند.
1-2-2 عناصر تشکیل دهنده وب هر فرم وب از چندین کنترل تشکیل شده است.
در واقع به اعضای تشکیل دهنده فرم که برای ایجاد محاوره با بینندگان صفحات وب به کار میروند، کنترل میگویند.
کنترلهای تشکیلدهنده فرمهای وب به دو دسته تقسیم میشوند.
کنترلهای سرور HTML این کنترلها را میتوان در سمت سرور دستکاری کرد.
قبل از این که فرم در اختیار مشتری قرار گیرد، موتور ASP آن ها را به عناصر معادل HTML تبدیل میکند.
این کنترل ها در فضای نام System.
Web.
UI.
Html Controls قرار دارند.
این کنترلها برای کسانی خوب است که قبلاً با HTML آشنایی دارند یا میخواهند صفحات ASP قدیمی را به صفحات جدید ASP.NET تبدیل نمایند.
کنترلهای سرور وب: این کنترلها به اسامی کنترلهای وب یا کنترلهای فرم وب ASP.NET خوانده میشوند.
اینها کنترلهای نسل جدید هستند که توسط شرکت میکروسافت ایجاد شدهاند.
خواص و ویژگیهای جالبی دارند.
برای بررسی و درک بهتر کنترلهای وب، آنها را به چند دسته تقسیم میکنیم: کنترلهای پایه: اگر با ویژوال بیسیک نت کار کرده باشید، با این کنترلها آشنایی دارید.
کنترلهای اعتبارسنجی و پیشرفته: کنترلهای اعتبارسنجی برای بررسی اعتبار محتویات فرم به کار میروند.
کنترلهای پیشرفته: این کنترلها برای نمایش تقویم یا ارائه تبلیغات در فرمها به کار میروند.
کنترلهای دادهای: این کنترلها معمولاً برای نمایش دادهها به کار میآیند.
1-2-2-1 کنترلهای پایهای Label: برای تولید متنهای ثابت (متنهایی که تغییر نمیکنند) به کار میرود.
TexBox : برای دریافت اطلاعات کاربر و نمایش هر نوع اطلاعات قابل تغییر به کار میرود.
Button : برای ایجاد دکمهها بر روی فرم به کار میرود.
CheckBox : برای ایجاد کادر انتخابی به کار میرود.
با کلیک کردن این کادر انتخاب، علامت در داخل آن قرار میگیرد و با کلیک مجدد حذف میشود.
CheckBoxlist : لیستی از چند کادر انتخاب را ایجاد میکند که به هم وابستهاند.
چند کادر انتخاب را میتوان فعال (انتخاب) کرد.
RadioButton برای ایجاد دکمه رادیویی به کار میرود.
وقتی بخواهیم از بین چند گزینه، فقط یک گزینه قابل انتخاب باشد، این کنترل مناسب است.
RadioButtonlist: لیستی از دکمههای رادیویی را انتخاب میکند که از بین آنها فقط میتوان یک گزینه را انتخاب کرد.
HyperLink : برای ایجاد پیوند به کار میرود.
پیوند میتواند کاربران را از صفحهای به صفحه دیگر ببرد.
LinkButton : دکمهای را به شکل پیوند ایجاد میکند که معمولاً برای تحویل دادن فرم به سرور به کار میرود.
ImageButton : یک دکمه تصویری ایجاد میکند که به کلیک کردن پاسخ میدهد.
Image : تصویری را وارد صفحه وب میکند.
ListBox: لیستی از گزینهها را ظاهر میکند که یک یا چند گزینه از آن را میتوان انتخاب کرد.
DropDownlist: لیستی از گزینهها را ظاهر میکند که فقط یکی از آنها قابل انتخاب است.
Panel: مانند ظرفی عمل میکند که میتواند چند کنترل را در بر گیرد.
خواص آن کنترلها را میتوان یک جا تعیین کرد.
Table: برای ایجاد و دستکاری جدول به کار میرود.
TableRow: سطری از جدول را مشخص میکند.
TableCell : خانهای (ستونی) از جدول را مشخص میکند.
1-2-2-2 کنترلهای اعتبارسنجی RequiredFieldValidator: کنترلی را بررسی میکند تا خالی نباشد.
در صورت خالیبودن کنترل میتوان پیام خطایی را صادر کرد.
RangeValidation: تعیین میکند که مقدار یک کنترل در محدوده خاصی قرار دارد یا خیر.
CompareValidator : مقدار یک کنترل را با یک مقدار ثابت یا مقدار کنترل دیگر مقایسه میکند.
RegularExpressionValidator: یک عبارت منظم را با محتویات یک کنترل تطبیق میکند.
در صورت عدم تطابق، پیام خطایی را صادر مینماید.
ValidationSummary: پیامهای خطای مربوط به سایر کنترلهای اعتبارسنجی را جمعبندی کرده، یک جا نشان میدهد.
CustomValidator : چگونگی اعتبارسنجی کنترلها به وسیله کاربر تعیین میشود.
برای این منظور باید توابعی با Javascript نوشته شوند.
1-2-2-3 کنترلهای پیشرفته calendar : برای نمایش و کارکردن با تقویم به کار میرود.
AdRotator: تصاویر تبلیغاتی را به صفحه وب اضافه میکند.
1-2-2-4 کنترلهای دادهای Datalist : برای نمایش و قالببندی دادههای بانک اطلاعاتی و منوهای چندستونی به کار میرود.
دادهها به صورت جدول نمایش داده میشوند.
DataGrid: برای نمایش و قالببندی دادههای بانک اطلاعاتی به کار میرود.
قابلیتهای پیشرفتهای مثل مرتبسازی و صفحهبندی اطلاعات را دارد.
Repeator: برای نمایش دادههای موجود در جدول بانک اطلاعاتی به کار میرود و فاقد امکانات ویرایش انتخاب و مرتب سازی است.
فصل 3 1-3-1 کنترلهای رادیویی، انتخابی و لیستها کنترل RadioButton این کنترل یک دکمه رادیویی را در صفحه ایجاد میکند.
بدیهی است که تنها وجود یک دکمه رادیویی، مشکلی را حل نمیکند.
بلکه مجموعهای از دکمههای رادیویی باید ایجاد شوند تا هر کدام یک گزینه را تعریف کند.
بنابراین ، هر مجموعه از دکمههای رادیویی از طریق خاصیت Group Name در یک دسته قرار میگیرند که در هر دسته فقط یک گزینه قابل انتخاب است.
بنابراین ، ممکن است چند دسته از دکمههای رادیویی در صفحه داشته باشیم که هر دسته دارای یک نام باشند و در هر دسته یک گزینه قابل انتخاب است.
بدیهی است که یکی از نکات مهم در بکارگیری دکمههای رادیویی، تشخیص گزینه انتخاب شده است این کار به دو روش انجام میگیرد: -استفاده از خاصیت Checked هر یک از دکمههای رادیویی.
-استفاده از رویداد CheckedChanged .
اگر بخواهید پس از تغییر وضعیت هر گزینه، فرم به سرور تحویل داده شود، باید خاصیت AutoposBack تمام گزینهها را True کنید.
کنترل RadioButtonList این کنترل میتواند حاوی چند دکمه رادیویی باشد.
به عبارت دیگر، این کنترل شامل چند کنترل RadioButton است که به طور خودکار در یک گروه قرار میگیرند و فقط یکی از آنها قابل انتخاب است.
وقتی چند دکمه رادیویی بخواهند در یک گروه قرار گیرند، باید خاصیت Group Name آنها یک مقدار داشته باشد.
اما وقتی از RadioButtonList استفاده میشود، دکمههای رادیویی به طور خودکار در یک گروه قرار خواهند گرفت.
نکات مهم مربوط به کنترل RadioButtonList عبارتند از: -اضافه کردن دکمههای رادیویی به لیست -یافتن دکمه رادیویی انتخاب شده -تعیین ظاهر لیست دکمههای رادیویی کنترل DropDownList این کنترل نوعی لیست بازشونده را نشان میدهد که در آن واحد فقط یک گزینه آن نمایش داده میشود و با کلیک کردن فلش موجود در آن میتوام تمام گزینههای لیست را مشاهده کرد.
فقط یک گزینه از آن نیز قابل انتخاب است (مثل کنترل RadioButtonList ) .
امتیاز این لیست این است که فضای اندکی را از صفحه نمایش اشغال میکند.
افزودن گزینهها به لیست افزودن گزینهها به لیست، در ویژوال استودیونت و کدنویسی امکانپذیر است.
همان مراحلی که در مورد افزودن گزینهها به کنترل CheckBoxList دنبال کردیم، در این لیست پی گیری خواهند شد.
در کد نویسی نیز به دو روش میتوان گزینهها را به لیست اضافه کرد: روش اول: هنگام اعلان کنترل (مانند CheckBoxList).
روش دوم: افزودن مستقیم به کلکسیون Items.
فصل 4 1-4-1 پیوندها و فرمتبندی کنترلها 1-4-1-1 ایجاد پیوند هدف از پیوند ، رفتن از صفحهای به صفحه دیگر است.
به عبارت دیگر برای مشاهده صفحات مختلف سایت، از پیوند استفاده میشود.
یعنی، پیوندها ابزارهایی هستند که بخشهای مختلف یک وبسایت را به یکدیگر اتصال میدهند.
وقتی با ماوس در صفحه حرکت میکنید، در نقاطی از صفحه، علامت ماوس به شکل دست در میآید که این نقاط همان پیوندها هستند.
1-4-1-2 کنترل HyperLink برای ایجاد پیوند از کنترل HyperLink استفاده میشود.
این کنترل فاقد هر گونه رویداد و متد است.
پیوندی که توسط این کنترل ایجاد میشود، میتواند به صورت متنی یا تصویری باشد.
حتماً در بسیاری از سایتها دیدید که وقتی پیوندی را کلیک میکنید، صفحه جدید میتواند در پنجره فعلی باز شود یا میتواند در پنجره جدیدی قرار گیرد.
اگر بخواهید در پنجره فعلی باز شود، خاصیت Target را برابر با self- و اگر بخواهید در پنجره جدیدی قرار گیرد، خاصیت Target را برابر با _blank قرار دهید.
1-4-2 مدیریت حالت کنترلها تفاوت عمده بین برنامهنویسی در اینترنت و برنامهنویسی در محیطهای غیر اینترنت، مدیریت بر حالت است.
در یک برنامه عادی ویندوز، حالت فرم و کنترلها به طور خودکار و پنهان از دید کاربر، مدیریت میشوند.
در چنین محیطی حافظه همیشه به اندازه کافی موجود است.
اما در برنامههای وب، قضیه فرق میکند.
هزاران کاربر ممکن است همزمان یک برنامه وب را بر روی یک کامپیوتر (سرور) اجرا کنند به همین دلیل نوشتن برنامههای وب متفاوت ازنوشتن برنامههای عادی ویندوز است.
پیبردن به محدودیتهای حالتها و چگونگی مدیریت بر آنها، نکته مهمی در طراحی برنامههای کارآمد در وب است.
در برنامه عادی ویندوز، کاربران با برنامه کاربردی در حال اجرا تعامل دارند.
اطلاعات کاری فعلی در بخشی از حافظه کامپیوتر ذخیره میشود.
برنامههای کاربردی وب، از الگوی دستیابی بیاتصال استفاده میکنند.
در وب، کاربر، صفحهای را از وب سرور درخواست میکند.
وقتی صفحه به کاربر تحویل داده شد، اتصال قطع میشود و سرور هر اطلاعاتی که راجع به آن کاربر دارد، از دست میدهد.
وقتی کاربر صفحه را دریافت میکند، برنامه کاربردی وب از حالت اجرا خارج میشود.
چون کاربران فقط به مدت چند ثانیه نیاز به اتصال دارند، وب سرور بدون کاهش کارایی میتواند هزاران درخواست را پاسخ دهد.
اما اگر بخواهید اطلاعات را بین فعالیتهای مختلف کاربر حفظ کنید (که اغلب نیاز به این کار هست)، باید از معیارهای خاصی استفاده کنید.
گزینههایی که در این بخش برای حفظ حالت و تبادل اطلاعات بین صفحات مختلف استفاده میشوند، عبارتند از Session, Cookies, Query String, ViewState .
1-4-3 استفاده از حالت تماس برای تبادل اطلاعات برای تبادل حجم زیادی از اطلاعات بین صفحات، نمیتوان از رشته تقاضا یا کوکی استفاده کرد.
علاوه بر این، انتقال اطلاعات به این دو روش، امن نیست.
در این موارد از حالت تماس برای تبادل اطلاعات استفاده میشود.
با استفاده از حالت تماس میتوان هر نوع دادهای را در حافظه سرور ذخیره کرد.
اطلاعات کاملاً امن هستند، زیرا به کاربر ارسال نمیشوند و مخصوص یک تماس هستند.
هر کاربری که به برنامهکاربردی وب دسترسی دارد، تماس دیگری محسوب میشود و اطلاعات تماس دیگری دارد.
1-4-3-1 ردیابی تماس ASP.NET هر تماس را با یک شناسه منحصر به فرد120 بیتی مشخص میکند.
این شناسه با الگوریتم خاصی و کاملاً تصادفی تولید میشود و تقریباً قابل تشخیص توسط کاربران نیست.
این شناسه تماس، تنها اطلاعاتی است که بین کاربر و سرور مبادله میشود.
وقتی کاربر شناسه تماس را عرضه میکند، ASP.NET آن تماس را جستو جو میکند، دادهها را از سرور حالت بازیابی کرده آن را به اشیای مناسبی تبدیل مینماید و آنها را در کلکسیونهای خاصی قرار میدهد.
این اشیا از طریق کدنویسی قابل دستیابی اند.
برای این که این روش کارایی داشته باشد، کاربر در هر درخواست باید شناسه تماس را ارسال کند.
این کار به دو روش انجام میگیرد: -شناسه تماس میتواند در کوکی خاصی (به نام ASP.NET_SessionID) ارسال شود.
این کوکی هنگام استفاده از کلکسیون تماس، به طور خودکار توسط ASP.NET ایجاد میشود.
-شناسه تماس را میتوان از طریق URL خاصی ارسال کرد.
فصل 5 1-5-1 بانکهای اطلاعاتی یکی از مهمترین بخش هر برنامه کاربردی از جمله کاربردی وب، بانک اطلاعاتی آن است که با چگونگی ذخیره و بازیابی دادهها سروکار دارد.
در این فصل ضمن تشریح مفهوم بانکهای اطلاعاتی، به شیوه پردازش آن در ASP.NET می پردازیم.
در این بخش با موضوعات زیر آشنا خواهید شد: -سیستم مدیریت بانک اطلاعاتی -بانک اطلاعاتی اکسس -دستورالعملهای SQL برای تقاضا از بانک اطلاعاتی -نوشتن اطلاعات در جدولهای بانک اطلاعاتی -استفاده از کنترل جدول برای صفحهبندی 1-5-2 سیستمهای مدیریت بانک اطلاعاتی بانک اطلاعاتی از نظر فیزیکی فایلهایی هستند که در سیستمهای کامپیوتری برای ذخیره و بازیابی دادهها به کار میروند.
برنامههای کاربردی مستقیماً نمیتوانند این فایلها را دستکاری کنند، بلکه برای پردازش این فایلها فرمانهایی را به سیستمهای مدیریت بانک اطلاعاتی (QBMS) صادر و پاسخ را دریافت میکنند.
نمونههایی از سیستمهای مدیریت بانک اطلاعاتی، Access (اکسس) و SQL Serverهستند.
سیستمهای مدیریت بانک اطلاعاتی، برنامهنویسرا از کارهای دشوار و خستهکنندهای که در پردازش بانک اطلاعاتی متداولاست، رها میسازند.
بنابراین برای کارکردن با بانک اطلاعاتی، در درجه اول باید سیستم مدیریت بانک اطلاعاتی را تعیین کرد.
اکسس یک سیستم مدیریت بانک اطلاعاتی ساده است که در دسترس همه قرار دارد و کارکردن با آن بسیار آسان میباشد.
1-5-3 مفهوم بانک اطلاعاتی رابطهای بانکهای اطلاعاتی به سه شکل قابل استفادهاند: 1.
بانک اطلاعاتی شبکهای 2.
بانک اطلاعاتی سلسلهمراتبی 3.
بانک اطلاعاتی رابطهای تقریباً تمام بانکهای اطلاعاتی نوین، از مدل رابطهای استفاده میکنند و در نتیجه بانک اطلاعاتی رابطهای نامیده میشوند.
مهمترین عنصر هر بانک اطلاعاتی رابطهای، جدول است.
ستونهای هر جدول را فیلد و سطرهای هر جدول را رکورد گویند.
به عنوان مثال، اگر جدولی از دانشجویان یک کلاس تشکیل دهیم، مشخصات هر دانشجو که یک سطر از جدول را اشغال میکند، یک رکورد و هر یک از مشخصات دانشجو مثل نام، نام خانوادگی که یک ستون از جدول را اشغال میکند، یک فیلد نامیده میشود.
1-5-4 مراحل طراحی بانک اطلاعاتی یکی از موضوعات مهم در بانک اطلاعاتی، طراحی آن است.
طراحی جدول و چگونگی ارتباط آنها با یکدیگر نکته مهمی است که بررسی آن در این مقوله نمیگنجد.
اما پیگیری مراحل زیر میتواند به طراحی بانک اطلاعاتی خوب کمک کند: 1.تعیین کنید کابران چه انتظاری از بانک اطلاعاتی دارند و چه دادههایی باید در خروجی ظاهر شوند.
2.توزیع دادهها را برنامهریزی کنید( چه دادههایی در چه جدولهایی قرار گیرند).
3.فیلدهای هر رکورد را در هر جدول مشخص کنید.
4.برای هر جدول یک فیلد منحصر به فرد را تعیین کنید تا تضمین شود.
5.رابطه بین جدولها را مشخص کنید.
6.طراحی را با کاربران مرور کنید.
7.جدولها را ایجاد و برنامهنویسی کنید.
8.کارایی بانک اطلاعاتی را تحلیل و بهینهسازی کنید.
1-5-5 دستیابی به بانک اطلاعاتی ADO.NET همانطور که گفته شد، بانک اطلاعاتی همان فایلهای کامپیوتری است که برنامه کاربردی با استفاده از سیستم مدیریت بانک اطلاعاتی آن را پردازش میکند.
اما برای این که برنامه کابردی با سیستم مدیریت بانک اطلاعاتی ارتباط برقرار کند، نیاز به یک واسط نرمافزاری دارد.
یکی از این واسطههای نرمافزاری، ADO.NET است.
به عبارت دیگر، در زبان ویژوال بیسیک نت برای برقراری ارتباط با سیستم مدیریت بانک اطلاعاتی از فناوری ADO.NET استفاده میشود.
اگر با ویژوال بیسیک کار کرده باشید، حتماً با فناوری ADO آشنایی دارید.
توجه داشته باشید که فناوری ADO کاملاً با فناوری ADO.NET متفاوت است زیرا الگوی کاملاً جدیدی برای دستیابی به بانک اطلاعاتی است.
ADO.NET امکان ارتباط با بانک اطلاعاتی رابطهای و سایر منابع دادهها را فراهم میکند.
به عبارت دیگر، ADO.NET فناوریی است که برنامههای کاربردی ASP.NET از آن برای اتباط با بانک اطلاعاتی استفاده میکند.
به این ترتیب این برنامهها میتوانند رکوردهایی را به بانک اطلاعاتی اضافه کنند، و رکوردهایی را حذف یا ویرایش کنند.
ADO.NET برای برنامههای کاربردی توزیعی (مثل برنامههای کاربردی وب) مفید است.
یکی از ویژگیهای مهم ADO.NET این است که بیاتصال است.
این ویژگی، تفاوت اساسی آن با ADO است.
در ADO ، برنامههای کاربردی به بانک اطلاعاتی وصل میشوند، یک Recordset را ایجاد میکنند، و از اطلاعات آن برای پرکردن DataGrid یا محاسبات دیگر استفاده میکنند، سپس RecordSet را از بین برده اتصال را قطع میکنند.
در حالی که اتصال باز است (اتصال با بانک اطلاعاتی برقرار است)، اتصال زندهای با بانک اطلاعاتی وجود دارد که میتوانید آن را فوراً به هنگامسازی کنید و گاهی تغییرات حاصل از کاربران دیگر را بلافاصله مشاهده کنید.
در یک برنامه نه چندان خوب، اتصال بانک اطلاعاتی ممکن است در حین انجام کارهای دیگر، باز نگهداشته شود.
معنایش این است که منابع مهمی در حال استفادهاند و در نتیجه از تعداد کاربرانی که میتوانند به بانک اطلاعاتی دستیابی داشته باشند و از برنامههای کاربردی ASP.NET استفاده کنند، کاسته میشود.
اما ADO.NET از استدلال کاملاً متفاوتی استفاده میکند.
وقتی ADO.NET با بانک اطلاعاتی اتباط برقرار میکنید، اطلاعاتی که از بانک اطلاعاتی دریافت میکنید در یک DataSet قرار میگیرد.
اگر اطلاعات موجود در DataSet را تغییر دهید، اطلاعات موجود در جدول متناظر با بانک اطلاعاتی تغییر نمیکند.
معنایش این است که بدون نگرانی میتوانید مقادیر موجود در DatSet را دستکاری کنید، زیرا از اتصال زنده استفاده نمیشود.
در صورت نیاز، DataSet میتواند با منبع داده اصلی اتصال برقرار کند و تمام تغییرات را اعمال نماید.
1-5-5-1 اشیا و متدهای ADO.NET ADO.NET دارای چند شیء مهم است.
این اشیا را میتوان به دو دسته تقسیم کرد: