PDA

View Full Version : مقاله: نمایش فلش در سایت



aserfg
یک شنبه 23 اسفند 1388, 18:12 عصر
البته در تاپیکهای دیگه ای هم بحث شده اما در اینجا کاملتر به این موضوع پرداخته شده :

برنامه نویسان asp.netازکنترل adrotator برای کارهای تبلیغاتی(مدیریت بنرها) استفاده می کنند. کنترلadrotator بنرها را در صفحه وب به صورت تصادفی نمایش می دهد ..

کار با این کنترل به آسانی انجام مراحل زیر است :

1-یک کنترل adrotator روی صفحه وب خود قرار دهید.

2-بنرها را در لیست بنرهای فایل xml تعریف کنید برای این کار روند زیر را دنبال کنید :

یک فایل به نام Ads.xml در مسیر فایلهای پروژه خود قرار دهید . و محتویات زیر را در آن کپی کنید :




<Advertisements>

<Ad>

<ImageUrl>image/TV_In_MobilePhone.jpg</ImageUrl>

<NavigateUrl>www.mobile.com</NavigateUrl>

<AlternateText>alirezakiani</AlternateText>

<Impressions>20</Impressions>

<Keyword>mobiles</Keyword>

</Ad>

<Ad>

<ImageUrl> image/978.jpg</ImageUrl>

<NavigateUrl> www.yahoo.com </NavigateUrl>

<AlternateText>this is a sample for banner </AlternateText>

<Impressions>10</Impressions>

<Keyword>Java</Keyword>

</Ad>

<!-- More ads can go here. -->

</Advertisements

-خاصیت AdvertisementFile کنترل را به فایل xml مو جود در سایتتان ست کنید . پروژه را اجرا کنید.



محدودیتهای کنترل adrotator

1-عدم توانایی نمایش فایلهای فلش

2-راه ساده ای برای امکان اضافه کردن خاصیت کلیک بر روی این بنرها وجود ندارد یعنی وقتی یه تصویر خاص نشون داده می شه روش کلیک کنید و به آدرس دیگه ای منتقل بشین.

این می تونه مشکل ساز بشه. زیرا که درصد بالایی از بنرها در سایتها از نوع فلش هستند .

برای این کار کامپوننت قدرتمند تری از AdRotator که موروثی از همین کنترل است به نام BannerRotator ارائه شده است . (دوستانی که این کنترل رو ندارن در شاخه bin پروژه موجود است)

BannerRotator یه کنترل سمت سرور که مشتق شده از کنترل های asp.net است و به زبان C# نوشته شده است .که شما را قادر به داشتن بنرهای فلش و هندل کردن کلیک روی بنرها می کند.

در پایان یه نمونه سورس از این کنترل رو براتون می زارم.

برای استفاده از این کنترل فایل UIControls.dll رو در پوشه bin پروژتون بزارین .و بعد از اضافه کردن این اسمبلی به toolbar و گذاشتن اون روی صفحه این کنترل اتومات رجیستر خواهد شد.

خوب فرض کنید در فایل xml خودتون دو تا تصویر و یه فلش گذاشتین اگه تنها خاصیت AdvertisementFile رو به فایل xml خودتون ست کنید کلیه تصاویر و فلشها به صورت تصادفی نمایش داده می شوند . اما اگه خاصیت keywordfilter اون رو برابر مقدار ست شده در فایل xml مثلا {<Keyword>Java</Keyword>} در این تگ java قرار بدین تنها ad مربوطه نشون داده میشه .{در مثال بالا تصویر image/978.jpg }



-----------در اینجا نحوه استفاده این کنترل به اتمام رسید ادامه برای علاقه مندان به نحوه ساخت این کنترل------

نحوه عملکرد این کنترل :

مناسبترین راه override کردن متد render است :




protected override void Render(HtmlTextWriter writer){ if (IsFlashBanner) { RenderFlashBanner(writer); return; } base.Render(writer);}


protected bool IsFlashBanner{ get { if (selectedAdvertArgs.ImageUrl.EndsWith(flashFileExt ension, true, CultureInfo.InvariantCulture)) { return true; } return false; }}


برای رسیدن هدف دیگمون یعنی کلیک روی بنر باید متد OnAdCreated رو override کنیم :


protected override void OnAdCreated(AdCreatedEventArgs e){ base.OnAdCreated(e); selectedAdvertArgs = e; ResolveTrackingUrl();}

pdf مقاله:

دانلود سورس: