MCPD Eğitimi Bitti

Şubat 12, 2012 at 8:34 Cavusoglu

Uzun soluklu bir eğitimide geride bıraktık. Yaklaşık 7 ay süren eğitimimizde yazılım geliştirmeye dair her konuya değindik. Eğitim çok uzun soluklu olunca güzel dostluklarda oluştu. Tekrar güzel günlerde buluşmak dileğiyle, bütün katılımcılara gelecek yaşamlarında başarılar diliyorum.

Katılımcılar ve bu süreçte bizlere yardımcı olan BTAkademi personeline teşekkürler. İrtibatı koparmayalım.

mcpd_21611492c6fc4

MCPD Eğitimi

Temmuz 16, 2011 at 4:36 Cavusoglu

Yazılım geliştirme süreci için kariyer eğitimi sayılabilecek uzun soluklu bir eğitime başladık.

Eğitim içeriğinde

C#

SQL Server

ADO.NET

ASP.NET

WPF

WCF

gibi başlıklarda eğitim vereceğim.

Could not load file or assembly ‘*******′ or one of its dependencies. An attempt was made to load a program with an incorrect format.

Mayıs 16, 2011 at 10:28 Cavusoglu

Bugün bir çalışmada yukarıdaki bahse konu hatayı IIS üzerinde aldım. Araştırma sonunda sorunu tespit ettim ve çözdüm. Ne yazıkki hata ile sorunun kaynağı arasında çok bariz bir bağıntı bilgisi gözükmüyor.

Sorunumuz ne yazıkki hayatımaza dayanılmaz bir şekilde giren 64Bit işlemcilerle alakalı. Ana application x86 olması sorun olmuyor bununla birlikte application kullandığı diğer assemblylerin x86 olmasına IIS dayanamıyor. Bu nedenle application pool ayarlarınızdan 32bit seçeneğini aktifleştirmeniz lazım. Bir diğer çözüm uygulamanızı X64 cpu için değiştirmekSmile

 

IIS6486

Posted in: Visual Studio | Bilişim | ASP.NET

Tags:

MCPD Eğitimi

Ekim 2, 2010 at 6:11 Cavusoglu

BTAkademi bünyesinde haftasonları MCPD eğitimi başladı. Katılımcılarımıza C#,OOP,MS SQL Server, ADO.NET, ASP.NET,WPF, WCF gibi başlıklarda eğitim vereceğim. Eğitimlerimde Visaul Studio 2010, C# 4.0, .NET 4.0, MS SQL Server 2008 R2 kullanacağım.

Güzel ve zevkli çalışma ortamları nedeniyle BTAkademi çalışanlarına ve bilhassa Sefer Algan ve Oğuz Yağmur dostlarıma teşekkür ediyorum.

SQL Server ve ASP.NET Eğitimi

Mayıs 31, 2010 at 10:14 Cavusoglu

Amasya Şeker Fabrikasından katılımcılarımla güzel bir eğitimi daha tamamladık. Eğitim sürecinde SQL Server Reporting Server ve ASP.NET ile Web Uygulamaları geliştirme başlıkları üzerinde çalıştık. Güzel ve başarılı geçen bu çalışmanın ardından katılımcılar Ercan Bey ve Taner Bey'e teşkkür ediyorum.

ASP.NET 4.0 ve ClientIDMode

Mart 14, 2010 at 7:20 Cavusoglu

Geçmiş bir eğitim ve danışmanlık sürecinde bir katılımcı şöyle bir soru sormuştu. "Hocam bu ASP.NET üzerinde sistemin otomatik ürettiği nesnelerde Client tarafında Javascript ile çalışırken çok zorlanıyoruz çünkü hiç düzgün isimler vermiyor". ("ctl00_ContentPlaceHolder1_ProductRepeater_ctl01_AddBasket")

Bu sorun özellikle DataBinding ile tekrarlayan itemlar oluşturan data nesnelerinde ("Repeater", "DataList" vs.. ) karşımıza çıkmaktadır. Visual Studio 2010 ve ASP.NET 4.0 sürecine geldiğimizde bunun bir çözümü var.

İşte ASP.NET 4.0 yeniliklerden biride ClientIDMode propertysi. Nesneyi Server tarafında tanımlarken artık Client tarafındaki ismini belirleyebileceksiniz.

Bu noktada karşımıza ClientIDMode propertysi çıkmaktadır. Bu propertyi için 4 adet seçenek bulunmaktadır. Aşağıdaki kod üzerinde ClientIDMode özelliğini değiştirerek snuçları gözlemlediğimizde;

<asp:Repeater ID="Repeater1" runat="server">
    <ItemTemplate>
    <%#Eval("Adi") %> , <%#Eval("Soyadi") %> <asp:Button ID="SecButton" runat="server" Text="Seç" ClientIDMode="AutoID" /> <br />
    </ItemTemplate>
    </asp:Repeater> 

 

Değer 

Açıklama 

 AutoID

Bu değer seçildiği durumda Controller Parent nesneden başlayarak ve aralara _ ekleyerek son noktada CTLXX ifadesi ile kaçıncı olduğunu gösterir ifade ve ardından Server ID eklenerek Client ID üretilmektedir.

<input type="submit" name="Repeater1$ctl00$SecButton" value="Seç" id="Repeater1_ctl00_SecButton" />

<input type="submit" name="Repeater1$ctl01$SecButton" value="Seç" id="Repeater1_ctl01_SecButton" />

Bir web sayfası için bu değer varsayılandır. Controller için varsayılan değer ise inherit seçeneğidir. Controllerde miras yolu ile web sayfası için varsayılan olan bu AutoID seçeneğini almış olurlar.

 Static

Bu değer seçildiği durumda, Controle ait Server ID değeri Client ID olarakta karşımıza çıkmaktadır. Bu noktada özellikle otomatik oluşan itemlarda tekrar eden nesnelerin aynı isimle tekrar ettiğine dikkat edelim.

<input type="submit" name="Repeater1$ctl00$SecButton" value="Seç" id="SecButton" />
<input type="submit" name="Repeater1$ctl01$SecButton" value="Seç" id="SecButton" />

Yukarıda da gördüğümüz gibi id propertyleri static seçiminden dolayı aynı isimle tekrar edilmiştir. Javascript ile yapacağınız müdahale her iki butonuda etkileyecektir. Bununla birlikte ayırdedicilik özelliğinide kaybetmiştir.

 Predictable

 Bu değer seçildiği durumda Client ID oluşmasında 2 durum karşımıza çıkmaktadır.

1. Herhangi bir ek tanımla ve müdahale olmadığı taktirde

<input type="submit" name="Repeater1$ctl00$SecButton" value="Seç" id="Repeater1_SecButton_0" />

<input type="submit" name="Repeater1$ctl01$SecButton" value="Seç" id="Repeater1_SecButton_1" />

Yukarıda da gördüğümüz gibi ParentControl _Kontrol_ArtanSayı şeklinde bir yapı oluşmaktadır. Okunurluğu ve kullanımı kolaydır.

2. IDataBoundListControl arayüzünden türemiş olan ListView ve GridView gibi nesnelerde ClientIDRowSuffix isminde bir özellik bulunmaktadır. Bu Özellik ClientID belirlemede son aşama olan ArtanSayının yerine kullanılacak olan değeri ifade etmektedir. Bu tanımlamanın data kaynağından gelmesi gerektiğini unutmayalım.

Mesela : Veri kaynağımızın aşağıdaki gibi bir class'a dayanan bir List olduğunu düşünürsek

 public class Kisi
    {
        public string Adi { get; set; }
        public string Soyadi { get; set; }
    }

 List<Kisi> kisiler = new List<Kisi>() {new Kisi(){Adi="Resul",Soyadi="Cavusoglu"},new Kisi(){Adi="Mehmet",Soyadi="Ahmedov"} };

<asp:ListView ID="ListView1" runat="server" ClientIDRowSuffix="Adi">
    <ItemTemplate>
    <%#Eval("Adi")%> <br />
        <asp:Button runat="server" ID="SecButton" Text="Button" ClientIDMode="Predictable" />
    </ItemTemplate>
       
    </asp:ListView>

 

Client tarafında sonuc aşağıdaki gibi olacaktır. ID ait son aşamanın Adi veri alanından geldiğine dikkatinizi çekmek isterim.

<input type="submit" name="ListView1$ctrl0$SecButton" value="Button" id="ListView1_SecButton_Resul" />

 <input type="submit" name="ListView1$ctrl1$SecButton" value="Button" id="ListView1_SecButton_Mehmet" />

 

 Inherit  Bu değer seçildiği durumda, Control bu property ait değeri Parent durumdaki controlden miras alır. Bu değer aksi belirtilmediği durumlarda varsayılan değerdir.

Güzel günlerde kullanmanız dileğiyle.