Ana içeriğe atla

Kayıtlar

Datalist Kontrolü

Bir makale sitesinde yazıların başlıklarının altalta dizildiğini düşünün ve başlığa tıklandığında o yazıya gitmek istiyoruz diyelim. Bunu datalist ile yapmak istersek yazılacak kod buna cok benzerdir. Yalnızca sayfa ismi yada datasource farklılık gösterebilir. Datalist'i sayfamıza eklediğimizde "Edit Item Template" kısmında nasıl görünmesini istiyorsak o şekilde dizayn edebiliriz. Mesela ben içine bir tablo attım, tablo içine de bir adet HyperLink attım. Datasource bağlandığı anda ki bu kod tarafında da bağlanabilir, "Baslik" ve "ID" kısmımlarını Eval komutu ile çekiyor. <asp:DataList ID="DataList1" runat="server" Width="800px" DataSourceID="AccessDataSource2">      <ItemTemplate>            <table >               <tr>                  <td>                     <asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl='<%#"Post.aspx?ID="+ Eval(...

Error 28 - SQL Server doesn't Support Requested Protocol

Bugün sql server'a bağlanmaya çalışırken aldığım ve saatlerce nedenini bulamadığım bir hata :) Tabi ki de şu an çözümünü buldum ve paylaşmak istedim. Öncelikle "SQL Server Configuration Manager" ı çalıştırıyoruz. Protocols kısmından TCP/IP yi "enabled" yapıyoruz. Ki bu ayar ilk yüklendiğinde "disabled" olarak geliyor. (Başka bir sorun olmuştu da bugun tekrar yüklemek zorunda kaldım :) ) Ardından ayarların aktif olması için Windows servislerden SQLServer servisini yeniden başlatıyoruz. Artık sorunsuzca bağlanabilirsiniz :) İyi çalışmalar..

Tasarım Desenleri : Abstract Factory

Bu desen Factory Method desenine çok benzer. Amaç yine aynıdır. Sistemden nesnelerin oluşma işini soyutlar. Abstract Factory benzer özellikleri olan nesne fabrikalarını gruplar. İçinde birden fazla fabrika vardır. Örneğimizde birden fazla türde database'de kaydetme ve sorgulama işlemlerini gruplamak için soyut fabrikayı kullanıyoruz : Kısaca kodlarına da bakalım : Önce ürünlerimizin gerçek ve soyut sınıflarını yazıyoruz. Kaydetme.cs interface Kaydetme { void kaydet(string cumle); } SQLBaglanti.cs class SQLBaglanti:Kaydetme { public void kaydet(string cumle) { MessageBox.Show("sql'e kaydedildi"); } } AccessBaglanti.cs class AccessBaglanti:Kaydetme { public void kaydet(string cumle) { MessageBox.Show("access'e kaydedildi"); } } Komut.cs interface Komut { void sorgula(string query); } SQLSorgu.cs class SQLSorgu:Komut { public void sorgula(string query) { MessageBox.Show("sql'de sorgu oluştu"); } } AccessSorgu.cs class AccessSorgu:Komut { publ...

Tasarım Desenleri : Factory Method

Bu tasarım deseni nesne oluşturma işini sistemden ayırır ve aldığı parametreye göre nesneleri oluşturarak kullanıcıya geri döner. Bir örnek verecek olursak düşünün ki gezmeye giderken farklı yöntemleriniz olsun. Ben şimdilik iki tane kullanacağım : Araba ve Bisiklet. Bu iki sınıf "Yöntem" arayüzümüzden türemişler. Bir adet de YöntemFabrika'mız var. Yöntem.cs interface Yöntem { void Gez(); } Araba.cs class Araba : Yöntem { public void Gez() { MessageBox.Show("arabayla geziyorum"); } } Bisiklet.cs class Bisiklet : Yöntem { public void Gez() { MessageBox.Show("bisikletle geziyorum"); } } YöntemFabrikası.cs class YöntemFabrikası { public Yöntem yöntemYarat(string opt) { if (opt == "arabayla") return new Araba(); else if(opt=="bisikletle") return new Bisiklet(); return new Araba();//if'lere...

Tasarım Desenleri : Singleton

Türkçe'ye Tek Nesne olarak çevrilen bu tasarım desenindeki ana amaç bir nesnenin yalnızca bir kez oluşturulabilmesidir. Buna neden ihtiyaç duyarız sorusuna gelince mesela bir bağlantıyı dinleyen nesneniz olsun. Bunu ikince kez yaratmak kimi zaman sorunlara yol açabilir. Sonuçta bunlar sonsuz threadlerdir. Onun yerine bu nesne bir kez yaratılsın ve ihtiyaç duyulduğu zaman daha önce oluşan nesne oraya gitsin ve işlerini halletsin isteriz. Basit bir örnek verelim : class RandomSayıVerici { private RandomSayıVerici() { } private static Random r = new Random(); public static Random nesneAl() { return r; } public static int sayiVer(int min, int max) { return r.Next(min, max); } public static int sayiVer(int max) { return r.Next(max); } public static int sayiVer() { return r.Next(); } } Şimdi biz bu örnekte bir adet RandomSayiVerici ol...

Windows 7 Godmode

Hani oyunlarda şifreler olur ya bu da windows'un enteresan ve kullanışlı bir şifresi diyebiliriz. Yazdığınızda bütün ayarların tek bir elde toplanması bayağı bir işe yarıyor. Şİmdi bir klasör oluşturun ve adını : GodMode.{ED7BA470-8E54-465E-825C-99712043E01C} koyun. Göreceksiniz ki simgesi değişecek. İçine girdiğinizde ise normal yollardan bulunması çok zor olan bir çok ayar artık elinizin altında.

MasterPage kavramı

Düşünün ki 100'lerce sayfadan oluşan bir siteniz var ve hepsinde belli yerler sabit. Örnek verecek olursak menüler genelde sabit olur ya da en altta yer alan açıklamalar vs. gibi. Bunların içinde bir yerde değişiklik yapmanız gerektiğinde hepsini tekrar düzenlemeniz gerekiyordu önceleri. Fakat masterpage kavramının gelmesiyle bu sorun ortadan kalktı. Artık sabit olan tarafları masterpage içinde yaratıp normal içerik sayfaları bu masterpage'i kullanarak türeyebiliyor. Sanki yeni gibi anlatıyorum ama bu çıkalı bayağı bir oluyor :) hemen küçük bir örnekle konumuzu özetleyelim : MasterPage.master Burada göreceksiniz ki html sayfasında olması gereken ana tag'ler var. Çünkü buradan türeyen sayfalar body taginin içinde yer alan contentpalceholder içine gömülürler serverde işlenirken. Defalut1.aspx Hemen solutionExplorer'dan oluşturduğumuz masterpage'e sağ tıklayıp "add content page" diyoruz.Türeyen sayfada hiçbir html tagi bulunmuyor çünkü onlar zaten masterpag...