Web Sitenizi İzleyin! (Uptime Monitor)

Birden fazla siteniz/sunucunuz varsa veya bunlarla benim gibi mevcut bir işte çalışırken ilgilenmeniz gerekiyorsa, günlük işlerinizin yoğunluğu nedeniyle sitelerinizi takip edemeyebiliyorsunuz. Sitenizin kısa süreli kapalı kalması durumunda müşteri kaybından tutunda arama motorları sıralamasında düşüşe kadar büyük kayıplar yaşayabiliyorsunuz.

İşte bu gibi durumlarda imdadımıza monitoring yani izleme servisleri yetişiyor. Sitemizi belirli aralıklarla sorgulayarak sunucunun yanıt verip vermediğine bakıyor, eğer ki bir problem varsa bunu hemen bize bildiriyor.

Okumaya devam…

CSS Uppercase Türkçe Karakter Sorunu

Css’ de uppercase kullandığınızda küçük “i” karakterleri büyük “I” karakterine dönmektedir. Bunun nedeni Css’in varsayılan olarak İngilizce’ye göre çalışmasıdır. Bu nedenle bir çok kişi uppercase kullanmak yerine kendi methodlarını yazmaktadır.

Aslında bu işlemin çözümü çok çok basit. Yapmamız gereken sayfanın head tagleri arasına sitemizin dilinin Türkçe olduğunu belirten bir tag eklemek.

Örnek:

<meta http-equiv="content-language" content="tr">

ASP.Net Update Panel Postback Sonrası Javascript Çalışmaması

ASP.NET Web Forms kullananlar bilirlerler update panel içerisinde bir postback işlemi gerçekleştirdiğimizde (butona tıklama, dropdown seçme işlemi vb.) update panel içerisinde kullanılan javascript ve jquery kodlarımız çalışmaz hale gelir. Hatta jquery ile checkboxlarımıza vs. stil verdiysek onlarda kaybolur ve tüm hevesimiz kaçar :(

Yıllardır yaşadığım bu problemle ilgili nihayet bir çözüm bulabildim, AspSnippets üzerindeki şu makale de çözümünü anlatmışlar. Bende kendimce Türçe’ye çevirerek açıklayacağım.

Okumaya devam…

C# MD5 Şifreleme ile Güvenli Şifreler Oluşturma

MD5 Nedir ?

Özet geçmek gerekirse;
128bit şifreleme yapılır.
– MD5 ile güvenli şifreler oluşturabiliriz.
– MD5 şifreler geri çevrilemez, tek taraflı convert işlemi yapmaktadır.
– Bazı md5 veritabanlarında şifrelenmiş ve şifrelenmeden önceki halleri saklandığından şifreniz kırılabilir. (Nasıl daha güvenli yaparız anlatacağım.)
– Farklı metinleri md5’e çevirdiğinizde aynı md5 sonucunu verebilir.

Okumaya devam…

ASP.NET MVC’de DropDownList İçerisinde Enum Değerler Kullanmak

Anlatacağım özellik MVC 5.1 ile gelmiştir, 5.1 öncesinde kullanamazsınız.

public enum _ArticleType
{
[Display(Name = "Sağlık Köşesi")]
HealthArticles = 1,
[Display(Name = "Hastalıklar")]
Diseases = 2
}

Yukarıdaki örneğimde _ArticleType adında bir enum’ım var, buraya kadar herşey bildiğimiz gibi. Ek olarak her enum elemanın üzerinde bu enum’ın arayüzde gösterilirken ne şekilde gösterileceği yazıyor. Bunun için Data Annotations‘lardan faydalanıyorum. Usinglerinizin arasına System.ComponentModel.DataAnnotations eklemeniz gerekmektedir. Okumaya devam…

ASP.NET MVC’de Kaynak Kodlarında Türkçe Karakterlerin Bozuk Gözükmesi

mvc_tr_bozuk

ASP.NET MVC’ de kod tarafından (server side) gelen verilerimiz de (Model, ViewBag vb.) bulunan Türkçe karakterler sayfanın kaynak koduna baktığımızda bozuk şekilde gözüküyor. Karakterlerin bozuk gözükmesi SEO (Arama Motoru Optimizasyonu) açısından yüksek derece kötü bir durum. Okumaya devam…

Asp.Net Button’u Font Awesome Icon’a Çevirmek

fontawesome-aspnet

Msdn forumları, Stack overflow vb. baya araştırmam sonucu yazılan mesajlardan yapılamayacağını öğrendim. Ama yaptım, evet başardım :)

FontAwesome’ı neden button olarak kullanmam gerektiğini merak edenler için; repeater içerisinde ikon olarak kullanıp, tıklandığında itemcommand’ı tetiklemem gerekiyordu. Bunun için bir asp button’una ihtiyacım vardı.

Anlatacaklarım Asp.net WEBFORMS içindir, Asp.net MVC yapısı gereği zaten çok basit bir şekilde kullanılabilmektedir.

Öncelikle button’umuzu button görünümünden kurtarıp metin haline getirmek için aşağıdaki gibi bir css class’ı yazıyoruz.

Okumaya devam…

jQuery ile Dinamik Eklenen Nesnelere Ulaşmak

Javascript/Jquery ile sayfanın temel HTML kodlarında olmayan ancak sonradan eklediğimiz nesnelere class veya id tanımlasak dahi ulaşamıyoruz. Bu DOM yapısıyla alakalı. DOM’un detaylarına girmeyip kısaca çözümünü anlatacağım. HTML DOM ile ilgili internette onlarca makale mevcut, araştırabilirsiniz :)

Dinamik nesnelere jQuery’nin eski versiyonlarında “live” methodu ile erişiyorduk, bu method en son jQuery 1.7 versiyonunda kullanıldı ve 1.9 ile tamamen kaldırıldı. Bunun yerine “on” methodundan faydalanacağız.

Okumaya devam…

Multiple types were found that match the controller named ‘Home’

Asp.Net MVC’de farklı dizinlerde (farklı arealar) olmasına rağmen birden fazla aynı isme sahip Controller kullanmak istediğimizde aşağıdaki gibi bir hatayla karşılaşıyoruz.

Multiple types were found that match the controller named ‘Home’. This can happen if the route that services this request (‘{controller}/{action}/{id}’) does not specify namespaces to search for a controller that matches the request. If this is the case, register this route by calling an overload of the ‘MapRoute’ method that takes a ‘namespaces’ parameter.

Bu sorunun önüne geçebilmek için App_Start klasöründe bulunan RouteConfig.cs dosyasında düzenleme yapmamız gerekiyor.

Okumaya devam…

CSS ile Dikey Ortalama (Vertical Align)

CSS ile genellikle yaşanan sorunlardan bir tanesidir dikey ortalama. Yatay ortalama (horizontal align) yapmak istediğimizde margin:0 auto; veya text-align:center kullanabiliyoruz. Ancak dikey ortalama yapmak istediğimizde margin işimizi görmüyor.

css_dikey_ortalama

Dikey ortalama yapmak için display:table, display:table-cell ve veritical-align:middle kodlarını kullanacağız.

Örneğimize geçecek olursak bir tane dış ve bir tane de iç div var. Amacımız iç div’de bulunan yazıyı dış divimizin dikey ve yatay olarak ortasına getirmek olacak. Okumaya devam…