ASP.NET Rich Controls Kullanımı
23-11-2013
Bu kısımda Calendar, AdRotator hakkında bilgi vereceğiz. Bu control’lerin html de direkt olarak bir karşılıkları yoktur. Bu nedenle kompleks html kodları ile ancak karşılıkları elde edilebilmiştir.
Calendar ile tarih seçme işlemi yapılır. AdRotator ile siteye reklam koyma işlemlerini sağlar.
Calendar
şeklinde sayfanın source kısmına eklenebilir veya Toolbox’tan seçilebilir.
Özellikleri:
SelectionMode : None,Day,DayWeek,DayWeekMonth değerlerinden biri seçilebilir. None olduğunda hiçbir şey seçilemez, Day olunca sadece gün seçilebilir, DayWeek olunca hem gün hem hafta, DayWeekMonth olunca gün,hafta,ay seçilir.
FirstDayOfWeek : Haftanın günlerinden herhangi birini alır. Örneğin Sunday değerini aldığı zaman Calendar’ın DayHeader kısmındaki günleri belirten yer Sunday ile başlar.
DayHeaderStyle : DayHeader’ın stilini değiştirmeyi sağlar.
DayStyle : Current month’daki günlerin stilini değiştirmeyi sağlar.
NextPrevStyle : Sayfa çalıştığında Calendar’da ortaya çıkan gün, hafta, ay seçimini sağlayan ok işareti stilini değiştirmeyi sağlar.
OtherMonthDayStyle : Calendar’da bulunduğumuz ayda olmayan günlerin stilini değiştirmeyi sağlar.
SelectedDayStyle : Seçilen günün stilini değiştirmeyi sağlar.
TitleStyle : Calendar’ın başlığının stilini değiştirmeyi sağlar.
TodayDayStyle : Bulunduğumuz günün stilini değiştirmeyi sağlar.
WeekendDayStyle : Hafta sonu günlerinin stilini değiştirmeyi sağlar.
Restricting Dates : Birçok durumda kullanıcının belli tarihleri seçmesini engellemek gerekebilir. Calendar_DayRender() event’ine tıklarız ve orada gerekli kodları yazarız.
NOT : This event occurs when the Calendar control is about to create amonth to display to the user. This event gives you the chance to examine the date that is being added to the current month (through the e.Day property) and decide whether it should be selectable or restricted.
e.Day bir CalendarDay nesnesidir. Bu nesnenin önemli özellikleri şunlardır:
Date : e.Day.Date şeklinde ulaşarız. Bize DateTime nesnesi dönderir.
IsWeekend : e.Day.IsWeekend şeklinde ulaşarız. Eğer bulunduğumuz gün Cumartesi veya Pazar ise true döner.
IsToday : e.Day.IsToday şeklinde ulaşırız. Eğer Calendar’da seçilen gün bulunduğumuz gün ise true döner.
IsOtherMonth = e.Day.IsOtherMonth şeklinde ulaşırız. Eğer seçilen gün bulunduğumuz ayda değilse true döner.
IsSelectable = e.Day.IsSelectable şeklinde ulaşırız. İstediğimiz günün seçilip seçilemeyeceğini belirleyebiliriz. Örneğin yukarıdaki örnekte
Başkabir Örnek :
Calendar control’ü bir tablo gibidir. Bu nedenle Calendar cell’lerden oluşmaktadır. e.Cell ifadesi ile seçilen günün cell’ine gideriz. Calendar control’ünün diğer iki önemli event’ları SelectionChanged ve VisibleMonthChanged event’larıdır. SelectionChanged event’i yeni bir gün seçildiğinde, VisibleMonthChanged yeni bir ay seçildiğinde meydana gelir.
NOT : SelectedDates Property’i öğrenin. Multiple Selection’a nasıl izin verileceğini öğrenin. Öğrendikten sonra aşağıdaki kodu anlayabilirsiniz.
AdRotator
Sayfa her yenilendiğinde bir reklam resmi gösterilmesini sağlar.
Her
Calendar ile tarih seçme işlemi yapılır. AdRotator ile siteye reklam koyma işlemlerini sağlar.
Calendar
<asp:Calendar id="MyCalendar" runat="server" />
şeklinde sayfanın source kısmına eklenebilir veya Toolbox’tan seçilebilir.
Özellikleri:
SelectionMode : None,Day,DayWeek,DayWeekMonth değerlerinden biri seçilebilir. None olduğunda hiçbir şey seçilemez, Day olunca sadece gün seçilebilir, DayWeek olunca hem gün hem hafta, DayWeekMonth olunca gün,hafta,ay seçilir.
FirstDayOfWeek : Haftanın günlerinden herhangi birini alır. Örneğin Sunday değerini aldığı zaman Calendar’ın DayHeader kısmındaki günleri belirten yer Sunday ile başlar.
DayHeaderStyle : DayHeader’ın stilini değiştirmeyi sağlar.
DayStyle : Current month’daki günlerin stilini değiştirmeyi sağlar.
NextPrevStyle : Sayfa çalıştığında Calendar’da ortaya çıkan gün, hafta, ay seçimini sağlayan ok işareti stilini değiştirmeyi sağlar.
OtherMonthDayStyle : Calendar’da bulunduğumuz ayda olmayan günlerin stilini değiştirmeyi sağlar.
SelectedDayStyle : Seçilen günün stilini değiştirmeyi sağlar.
TitleStyle : Calendar’ın başlığının stilini değiştirmeyi sağlar.
TodayDayStyle : Bulunduğumuz günün stilini değiştirmeyi sağlar.
WeekendDayStyle : Hafta sonu günlerinin stilini değiştirmeyi sağlar.
Restricting Dates : Birçok durumda kullanıcının belli tarihleri seçmesini engellemek gerekebilir. Calendar_DayRender() event’ine tıklarız ve orada gerekli kodları yazarız.
NOT : This event occurs when the Calendar control is about to create amonth to display to the user. This event gives you the chance to examine the date that is being added to the current month (through the e.Day property) and decide whether it should be selectable or restricted.
protected void MyCalendar_DayRender(Object source, DayRenderEventArgs e) { // Restrict dates after the year 2010 and those on the weekend. if (e.Day.IsWeekend || e.Day.Date.Year > 2010) { e.Day.IsSelectable = false; } }
e.Day bir CalendarDay nesnesidir. Bu nesnenin önemli özellikleri şunlardır:
Date : e.Day.Date şeklinde ulaşarız. Bize DateTime nesnesi dönderir.
IsWeekend : e.Day.IsWeekend şeklinde ulaşarız. Eğer bulunduğumuz gün Cumartesi veya Pazar ise true döner.
IsToday : e.Day.IsToday şeklinde ulaşırız. Eğer Calendar’da seçilen gün bulunduğumuz gün ise true döner.
IsOtherMonth = e.Day.IsOtherMonth şeklinde ulaşırız. Eğer seçilen gün bulunduğumuz ayda değilse true döner.
IsSelectable = e.Day.IsSelectable şeklinde ulaşırız. İstediğimiz günün seçilip seçilemeyeceğini belirleyebiliriz. Örneğin yukarıdaki örnekte
e.Day.IsSelectable = false;
denilerek hafta sonlarının ve 2010 tarihinden büyük olan tarihlerin seçilmesini önlemiş oluruz. Başkabir Örnek :
protected void MyCalendar_DayRender(Object source, DayRenderEventArgs e) { // Check for May 5 in any year, and format it. if (e.Day.Date.Day == 5 && e.Day.Date.Month == 5) { e.Cell.BackColor = System.Drawing.Color.Yellow; // Add some static text to the cell. Label lbl = new Label(); lbl.Text = "<br />My Birthday!"; e.Cell.Controls.Add(lbl); } }
Calendar control’ü bir tablo gibidir. Bu nedenle Calendar cell’lerden oluşmaktadır. e.Cell ifadesi ile seçilen günün cell’ine gideriz. Calendar control’ünün diğer iki önemli event’ları SelectionChanged ve VisibleMonthChanged event’larıdır. SelectionChanged event’i yeni bir gün seçildiğinde, VisibleMonthChanged yeni bir ay seçildiğinde meydana gelir.
NOT : SelectedDates Property’i öğrenin. Multiple Selection’a nasıl izin verileceğini öğrenin. Öğrendikten sonra aşağıdaki kodu anlayabilirsiniz.
foreach (DateTime dt in MyCalendar.SelectedDates) { lblDates.Text += dt.ToLongDateString() + "<br />"; }
AdRotator
Sayfa her yenilendiğinde bir reklam resmi gösterilmesini sağlar.
<asp:AdRotator ID="Rotator1" runat="server" KeywordFilter="Computer" AdvertisementFile="reklam.xml" />
<?xml version="1.0" encoding="utf-8" ?> <Advertisements> <Ad> <ImageUrl>Images/cat.jpg</ImageUrl> <NavigateUrl>http://www.prosetech.com</NavigateUrl> <AlternateText>ProseTech Site</AlternateText> <Impressions>lt;/Impressions> <Keyword>Computer</Keyword> </Ad> <Ad> <ImageUrl>Images/142fdgdf.jpg</ImageUrl> <NavigateUrl>http://www.prosetech.com</NavigateUrl> <AlternateText>ProseTech Site</AlternateText> <Impressions>lt;/Impressions> <Keyword>Computer</Keyword> </Ad> </Advertisements>
Her
<ad></ad>
elementi içinde bir resim bilgisi bulunur. Keyword = "Computer" ile belirtilen ifade ise AdRotator control’ün KeywordFilter property’sindeki değer ile aynı olduğunda bu AdRotator’a bu resim yüklenecektir. <impressions></impressions>
ile belirtilen kısımda ise bir reklam resminin ne kadar sıklıkta gösterileceği belirtilir.