سلام کاربران عزیز ، حالتون خوبه ؟ با اموزشی دیگر در زمینه Asp در خدمت شما هستم.درمورد نمایش عکس به صورت تصادفی میخوام توضیح بدم. با ما همراه باشید.
کنترل AdRotator به منظور نمایش عکس به صورت رندم و تصادفی بکار گرفته می رود. تصویری که به نمایش گذاشته می شود توسط کنترل AdRotator از مجموعه ای از تصاویر که از پیش توسط کاربر معین شده ، به صورت تصادفی گزنیش شده و نمایش داده می شود. می توان برای هر عکس ، یک url مقصد تعیین کرد تا کاربر به هنگام کلیک بر روی آن، به url گفته شده برگشت داده شود. اطلاعات تصاویر و url ها در یک منبع داده ای (data source) مانند یک فایل XML یا بانک اطلاعاتی SQL ذخیره می گرددند. کنترل حین اجرای صفحه اطلاعات را از منبع داده مربوط به خود خوانده و اجرا می کند.
کنترل عمدتا جهت نمایش بنرهای تبلیغاتی بکار می رود. هر بار که صفحه بازسازی یا تجدید (refresh) می شود ، کنترل مزبور انتخاب تصادفی بنر را انجام داده و یک بنر جدید را به نمایش می گذارد.
همچنین می توان تعیین کرد کدام تصاویر برای نمایش در اولویت قرار گیرند و یا اینکه کدام عکس ها بیشتر از سایر عکس ها نشان داده شوند.
دستور نگارش کلی کنترل AdRotator به صورت زیر می باشد.
<asp:adrotator runat=”server” advertisementfile=”adfile.xml” target=”_blank”/>
پیش از اینکه به جزئیات کنترل AdRotator و خواص (property) آن بپردازیم، بهتر است نگاهی مختصر بر ساختار فایل Advertisement داشته باشیم.
Advertisement File
فایل Advertisement یک فایل XML است که دربردارنده ی اطلاعات مربوط به تبلیغاتی است که باید در کنترل نمایش داده شوند.
زبان نشانه گذاری توسعه پذیر ( Extensible Markup Language یا به اختصار XML ) یک استاندارد W3C برای نشانه گذاری فایل های متنی (text document markup) می باشد. XML در واقع یک زبان نشانه گذاری مبتنی بر متن است که به شما امکان می دهد داده ها را با استفاده از تگ های معنی دار در قالبی ساخت یافته (structured format) ذخیره کنید. واژه ی ‘extensible’ یا به فارسی ‘گسترش پذیر’ دلالت بر این قضیه دارد که برنامه نویس می تواند با تعریف تگ های معنی دار برای برنامه قابلیت و توان خود را در توصیف هر چه بهتر سند افزایش دهد.
XMLبه خودی خود یک زبان نیست، بلکه یک مجموعه قوانینی برای ایجاد زبان های نشانه گذاری (markup) نوین محسوب می شود. در حقیقت xml یک زبان meta-markup(علاوه بر این که یک markup یا زبان علامت گذاری می باشد، اطلاعاتی هم درباره ی نحوه ی تشکیل شدن و ساخت یافتن آن markup ارائه داده و به برنامه نویس امکان می دهد تگ های نشانه گذاری / markup tag های خود را برای تعریف آن ایجاد کند) تلقی می گردد.
XML به برنامه نویسان تحت وب امکان می دهد مجموعه تگ های سفارشی خود را برای نیل به اهداف خاص ایجاد کند. همچنین قابلیت ساخت دهی، ذخیره سازی و انتقال اطلاعات را فراهم می کند.
ذیل نمونه ای از فایل XML را مشاهده می کنید.
<book>
<name> Learn XML </name>
<author> Samuel Peterson </author>
<publisher> NSS Publications </publisher>
<price> $30.00</price>
<book>
مشابه دیگر فایل های XML، فایل advertisement باید یک فایل متنی ساخت یافته با تگ های درست تعریف شده باشد که داده ها را به نحو احسنت تعریف کند. جدول زیر عناصر استاندارد XML که به طور متداول در فایل های advertisement بکار می روند را فهرست می کند.
المان
شرح
Advertisements
این عنصر فایل advertisement را ضمیه می کند(دربرمی گیرد).
Ad
یک ad(تبلیغ) جدید تعریف می کند.
ImageUrl
آدرس URLیا محل قرارگیری تصویر مورد نظر (تصویر نمایش داده شده) را ارائه داده و مشخص می کند.
NavigateUrl
لینکی که کاربر با کلیک روی تبلیغ (ad) به آن ارجاع داده می شود.
AlternateText
نوشته ای که در صورت عدم امکان نمایش تصویر به عنوان جایگزین (تصویر) نمایش داده می شود.
Keyword
کلیدواژه ای که مجموعه ای از تبلیغات (ad) را شناسایی می کند. این عنصر بیشتر به منظور فیتلر کردن استفاده می شود.
Impressions
عددی که تعیین می کند یک تبلیغ چند بار باید نمایش داده شود.
Height
طول تصویر نمایش داده شده را تعیین می کند.
Width
.عرض تصویر نمایش داده شده را تعیین می کند
جدا از تگ های نام برده می توان تگ های (سفارشی) که خصیصه های (attribute) سفارشی برای آن ها تعریف شده بکار برد. کد زیر یک فایل advertisement (ads.xml) را نمایش می دهد.
<Advertisements>
<Ad>
<ImageUrl>2012123118419.png</ImageUrl>
<NavigateUrl>http://www.1800flowers.com</NavigateUrl>
<AlternateText>
Order flowers, roses, gifts and more
</AlternateText>
<Impressions>20</Impressions>
<Keyword>flowers</Keyword>
</Ad>
<Ad>
<ImageUrl>2014102317530.jpg</ImageUrl>
<NavigateUrl>http://www.babybouquets.com.au</NavigateUrl>
<AlternateText>Order roses and flowers</AlternateText>
<Impressions>20</Impressions>
<Keyword>gifts</Keyword>
</Ad>
<Ad>
<ImageUrl>2014123121431.jpg</ImageUrl>
<NavigateUrl>http://www.flowers2moscow.com</NavigateUrl>
<AlternateText>Send flowers to Russia</AlternateText>
<Impressions>20</Impressions>
<Keyword>russia</Keyword>
</Ad>
</Advertisements>
خاصیت
شرح
AdvertisementFile
محل قرارگیری (مسیر) فایل (دربردانده ی) advertisement را مشخص می کند.
AlternateTextFeild
اسم المان فیلد مورد نظر که متن جایگزین در آن ارائه می شود را مشخص می کند.مقدار پیش فرض آن AlternateText می باشد.
DataMember
اسم لیست داده ای که در صورت استفاده نشدن از فایل advertisement به کنترل AdRotator متصل می شود را تعیین می کند.
DataSource
کنترلی که داده از آن بازیابی می شود را مشخص می کند.
DataSourceID
شناسه ی کنترلی که داده از آن بازیابی می شود.
Font
خاصیت های (property) فونت بکار رفته در کنترل بنر تبلیغاتی (ad banner) را مشخص می کند.
ImageUrlField
اسم المان فیلدی که آدرس URL تصویر مورد نظر را ارائه می دهد مشخص می کند. مقدار پیش فرض ImageUrl می باشد.
KeywordFilter
تنها به منظور نمایش تبلیغاتی (ad) که بر اساس کلیدواژه شناسایی می شوند بکار می رود.
NavigateUrlField
اسم المان فیلد دربردانده ی url که به آن پیمایش صورت می گیرد را ارائه می د هد. مقدار پیش فرض NavigateUrl می باشد.
Target
مرورگر یا پنجره ی (frame) که محتوای صفحه لینک شده را نمایش می دهد مشخص می کند.
UniqueID
شناسه ی منحصر بفرد کنترل AdRotator را برمی گرداند.
خاصیت ها و رخدادهای کلاس AdRotator
همان طور که پیش تر ذکر شد کلاس AdRotator از کلاس WebControl مشتق شده و از این رو تمامی خاصیت های آن را به ارث می بر د. علاوه بر خاصیت های به ارث گرفته از کلاس مزبور، AdRotator دارای خاصیت های زیر می باشد.
انچه ذیل مشاهده می کنید فهرستی از رخدادهای (event) مهم کلاس AdRotator می باشد.
رخداد
شرح
AdCreated
این رخداد به ازای هر بار رفت و برگشت به سرور ، پس از ایجاد کنترل و پیش از اجرا و نمایش (render) صفحه فعال می شود.
DataBinding
زمانی رخ می دهد که کنترل سرور به یک منبع داده متصل شود.
DataBound
این رخداد پس از اینکه که کنترل سرور به یک منبع داده متصل (bound) می شود روی می دهد.
Disposed
هنگامی رخ می دهد که کنترل سرور از حافظه رها سازی (release) شده باشد که در اصل آخرین مرحله ی چرخه حیات کنترل سرور محسوب می شود (منظور زمانی است که صفحه ی ASP.NET درخواست می شود).
Init
زمانی رخ می دهد که کنترل سرور مقداردهی اولیه شده باشد، که در اصل اولین مرحله چرخه ی حیات کنترل سرور محسوب می شود.
Load
هنگامی روی می دهد که کنترل سرور داخل شی Page بارگذاری شود.
PreRender
این رویداد پس از اینکه شی Control بارگذاری شده و پیش از rendering (اجرا و نمایش کنترل) فعال می شود.
Unload
زمانی رخ می دهد که کنترل سرور از حافظه unload (تخلیه ی بارگذاری) شود.
کار با کنترل AdRotator
یک صفحه ی جدید ایجاد کرده، سپس یک کنترل AdRotator به آن اضافه کنید.
<form id=”form1″ runat=”server”>
<div>
<asp:AdRotator ID=”AdRotator1″ runat=”server” AdvertisementFile=”~/ads.xml” onadcreated=”AdRotator1_AdCreated” />
</div>
<form>
فایل ads.xml و فایل های تصویری (image file) همگی باید در پوشه ی اصلی (root directory) وب سایت قرار داده شوند.
حال برنامه ی بالا را اجرا کرده و دقت کنید که با هر بار بارگذاری دوباره صفحه، تبلیغ (ad) نیز تغییر می کند.