<?xml version="1.0" encoding="utf-8"?>

<rss version="2.0">




<channel>
<title>DeveloperMania.Net</title>
<link>http://www.developermania.net/developermania/rss.asp</link>
<description>Son Eklenenler</description>
<language>tr</language>

<item><title><![CDATA[Windows Phone 7 üstünde Sanal Klavyeyi saklamak]]></title><link><![CDATA[http://www.developermania.net/developermania/article.asp?katID=912]]></link><description><![CDATA[<p><img src="http://www.volkanatasever.com/image.axd?picture=2010%2f3%2fwindows-phone-7.jpg" alt="" width="181" height="111" /></p>
<p><span style="font-size: medium;">Windows Phone 7 serisi &uuml;st&uuml;nde bir textbox kontrol&uuml; &uuml;st&uuml;ne tıkladığınızda sanal klavyeyi kullanmak istemiyorsanız aşağıdaki kodu kullanabilirsiniz.</span></p>
<p><span style="font-size: medium;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; public MainPage()<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; InitializeComponent();<br /><br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; this.textBox.KeyUp += new KeyEventHandler(textBox_KeyUp);<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br /><br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; void textBox_KeyUp(object sender, KeyEventArgs e)<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (e.Key == Key.Enter)<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; this.Focus();<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br /></span></p>]]></description></item><item><title><![CDATA[Asp.Net Mimarisi]]></title><link><![CDATA[http://www.developermania.net/developermania/article.asp?katID=911]]></link><description><![CDATA[<p>
	&nbsp;</p>
<p class="MsoNormal">
	<b style="text-indent: -18pt; "><span lang="AF">1)<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></b><b style="text-indent: -18pt; "><span lang="AF" style="font-size:14.0pt;mso-ansi-language:AF">Asp.net&rsquo;in doğuşu</span></b></p>
<p class="MsoNormal" style="margin-left:18.0pt">
	Asp.net nedir? Microsoft .Net framework tabanlı web uygulamarı hazırlamak&nbsp; i&ccedil;in Microsoft tarafından geliştirilmiş bir web teknolojisidir. VB ve C# kullanılarak renkli ve kullanışlı web uygulamalrı yapmak i&ccedil;in bi&ccedil;ilmiş bir kaftan olduğu iddia edilen bu g&uuml;zel teknolojinin avantajları ve dezavantajları vardır. Avantajlarını az &ccedil;ok bilinmekle beraber &ccedil;ok kullanıcılı web sitelerinde ve portallarında performans ve geliştiriciler i&ccedil;in de esneklik ve tekrar geliştirilebilirlik problemleri sunmaktadır. &Ouml;ncelikle Asp.net sayfaları nasıl &ccedil;alışır onu g&ouml;relim. Daha sonrada avantajları ve dezavantajları hakkında bilgi verelim.</p>
<h2>
	<span lang="AF"><o:p>&nbsp; &nbsp; &nbsp;</o:p></span><strong>ASP.Net nasıl &ccedil;alışır?</strong></h2>
<p class="MsoNormal" style="margin-left:18.0pt">
	<span lang="AF"><o:p>&nbsp;</o:p></span>Asp.net ağabeyi asp gibi script dillerle sınırlandırılmamıştır. O hem salt betik kod(javascipt vs.) geliştirmeye m&uuml;sade eder hemde C# ,J# ve Vb gibi dillerle de geliştiricilere visual studio ortamında sunucu taraflı kod geliştirme olanağı sunar. 1997 yılında IIS &lsquo;in icadına kadar web siteleri statik bir yapıya sahipti. Sadece el yordamı ile ile değiştirilebiliniyor ve s&uuml;rekli g&uuml;ncel tutulması i&ccedil;in zaman kıstasları ile yarışılmak zorunda kalınıyordu. Dinamik bir yapı IIS ve ASP ile geldi. Kısacası istemci bir istekte bulunduğu zaman dinamik yapı sunucuya bu isteği g&ouml;nderiyor. Server bir &ccedil;ıktıyı istemcinin web tarayıcısına yansıtıyordu. Bu sayede bir &ccedil;ok dinamik e-ticaret siteleri ve intranet portallar yapıldı ve iş y&uuml;k&uuml; g&ouml;zle g&ouml;r&uuml;l&uuml;r bir şekilde azaltıldı. 2000 li yıllarda gelindiğinde sahneyi ASP.Net aldı. Asp.net Common Language Runtime denilen kısa adı CLR olan bir teknoloji &uuml;zerine inşa edilmiştir. Kısaca CLR nedir? Nasıl &ccedil;alışır?Java&rsquo;nın jvm&rsquo;si var ise .Net inde CLR &lsquo;si vardır.Bir C#kodu yazılıp derlendiğinde yazılan bu kod MSIL (Microsoft Intermediate Language)&rsquo;e d&ouml;n&uuml;şt&uuml;r&uuml;l&uuml;r. Bu kodun yorumlanmasını CLR yapar. G&uuml;venlik ve exception kontrollerini yaptıkdan sonra kodu icra eder.</p>
<p class="MsoNormal" style="margin-top: 0cm; margin-right: -23.4pt; margin-left: -9pt; margin-bottom: 0.0001pt; ">
	<img alt="" height="440" src="http://www.developermania.net/developermania/resimld/makaleresimler/clr.jpg" width="660" /></p>
<p class="MsoNormal" style="margin-top: 0cm; margin-right: -23.4pt; margin-left: -9pt; margin-bottom: 0.0001pt; ">
	&nbsp;</p>
<p class="MsoNormal" style="margin-top:0cm;margin-right:-23.4pt;margin-bottom:
0cm;margin-left:-9.0pt;margin-bottom:.0001pt">
	<span lang="AF"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin-top:0cm;margin-right:-23.4pt;margin-bottom:
0cm;margin-left:-9.0pt;margin-bottom:.0001pt">
	<span lang="AF"><o:p>&nbsp; &nbsp; &nbsp;</o:p></span><span style="font-size: 14pt; ">ASP.Net &Ccedil;alışma Modeli:</span></p>
<p class="MsoNormal" style="margin-top:0cm;margin-right:-23.4pt;margin-bottom:
0cm;margin-left:-9.0pt;margin-bottom:.0001pt">
	<span lang="AF" style="font-size:
14.0pt;mso-ansi-language:AF"><o:p>&nbsp;&nbsp;</o:p></span>Asp.net sayfaları sunucu &uuml;zerinde text dosyası olarak tutulurlar fakat sayfaya ulaşıldığında .Net Framework CLR&rsquo;yi tetikleyerek MSIL kodlarını yorumlamasını &nbsp; &nbsp; &nbsp;sağlar. Sonu&ccedil; olarak bu isteğe bir cevap yine text formatında hazırlanır. Performans kaygılarından dolayıdırki, Asp.net sayfaların gereksiz olarak derlenmesi &nbsp;engellemek i&ccedil;in output caching mekanizması kullanır.</p>
<p class="MsoNormal" style="margin-top:0cm;margin-right:-23.4pt;margin-bottom:
0cm;margin-left:-9.0pt;margin-bottom:.0001pt">
	&nbsp;</p>
<p class="MsoNormal" style="margin-top:0cm;margin-right:-23.4pt;margin-bottom:
0cm;margin-left:-9.0pt;margin-bottom:.0001pt">
	<span lang="AF"><o:p>&nbsp;<img alt="" height="400" src="http://www.developermania.net/developermania/resimld/makaleresimler/asp-object-model.jpg" width="375" /></o:p></span></p>
<p class="MsoNormal" style="margin-top:0cm;margin-right:-23.4pt;margin-bottom:
0cm;margin-left:-9.0pt;margin-bottom:.0001pt">
	&nbsp;</p>
<p class="MsoNormal" style="margin-top:0cm;margin-right:-23.4pt;margin-bottom:
0cm;margin-left:-9.0pt;margin-bottom:.0001pt">
	<span lang="AF"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal" style="margin-top:0cm;margin-right:-23.4pt;margin-bottom:
0cm;margin-left:-9.0pt;margin-bottom:.0001pt">
	<span lang="AF"><o:p>&nbsp;</o:p></span><span style="font-size: 14pt; ">2) </span><b style="font-size: 14pt; ">Asp.net ile web uygulamalarının avantajları ve dezavantajları:</b></p>
<p class="MsoNormal" style="margin-top:0cm;margin-right:-23.4pt;margin-bottom:
0cm;margin-left:-9.0pt;margin-bottom:.0001pt">
	<span lang="AF"><o:p>&nbsp;</o:p></span></p>
<h3>
	<strong><span lang="AF">ASP.Net Avantajları:</span></strong><span lang="AF"><o:p></o:p></span></h3>
<p class="MsoNormal" style="margin-top:0cm;margin-right:-23.4pt;margin-bottom:
0cm;margin-left:-9.0pt;margin-bottom:.0001pt">
	<span lang="AF"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal" style="margin-top:0cm;margin-right:-23.4pt;margin-bottom:
0cm;margin-left:9.0pt;margin-bottom:.0001pt;text-indent:-18.0pt;mso-list:l1 level1 lfo2;
tab-stops:list 9.0pt">
	<!--[if !supportLists]--><span lang="AF">1)<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><!--[endif]--><span lang="AF">Asp.net ile bir &ccedil;ok b&uuml;y&uuml;k windows uygulamasının web versiyonları yazılmaktadır. Web artık bir uygulamalar havuzudur. Bunuda b&uuml;y&uuml;k &ouml;l&ccedil;&uuml;de başlatan ve kolaylaştıran asp.nettir.<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-top:0cm;margin-right:-23.4pt;margin-bottom:
0cm;margin-left:9.0pt;margin-bottom:.0001pt;text-indent:-18.0pt;mso-list:l1 level1 lfo2;
tab-stops:list 9.0pt">
	<!--[if !supportLists]--><span lang="AF">2)<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><!--[endif]--><span lang="AF">Asp.net, windows form uygulama geliştiricilerin alışkın olmadıkları html d&uuml;nyasına rahat bir giriş yapmasını sağlar. Bunuda zengin toolbox(s&uuml;r&uuml;kle bırak) ve designer &ouml;zellikleri ile yapar.<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-top:0cm;margin-right:-23.4pt;margin-bottom:
0cm;margin-left:9.0pt;margin-bottom:.0001pt;text-indent:-18.0pt;mso-list:l1 level1 lfo2;
tab-stops:list 9.0pt">
	<!--[if !supportLists]--><span lang="AF">3)<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><!--[endif]--><span lang="AF">Asp.net ile gelen sunucu kontrolleri html kodu ile i&ccedil; i&ccedil;e ge&ccedil;miş şekilde yazılır. Kaynak kodunda bir değişiklikler hızlı bir şekilde yapılır. Buda hızlı web siteleri geliştirmemize olanaklar sağlar.<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-top:0cm;margin-right:-23.4pt;margin-bottom:
0cm;margin-left:9.0pt;margin-bottom:.0001pt;text-indent:-18.0pt;mso-list:l1 level1 lfo2;
tab-stops:list 9.0pt">
	<!--[if !supportLists]--><span lang="AF">4)<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><!--[endif]--><span lang="AF">Bir zamanlar web de yapmayı hayal nile edemeyeceğiniz bir &ccedil;ok windows form uygulamasını webe taşıyabilirsiniz. Bu sayede platformdan bağamsız portallar,siteler yaratırsınız. &Ouml;rneğin; Bir stok takip programı windows ,IOS ve Linux da platformdan bağamsız &ccedil;alışır!<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-top:0cm;margin-right:-23.4pt;margin-bottom:
0cm;margin-left:9.0pt;margin-bottom:.0001pt;text-indent:-18.0pt;mso-list:l1 level1 lfo2;
tab-stops:list 9.0pt">
	<!--[if !supportLists]--><span lang="AF">5)<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><!--[endif]--><span lang="AF">Asp.net sitelerinin yayınlanması basittir. <o:p></o:p></span></p>
<p class="MsoNormal" style="margin-top:0cm;margin-right:-23.4pt;margin-bottom:
0cm;margin-left:9.0pt;margin-bottom:.0001pt;text-indent:-18.0pt;mso-list:l1 level1 lfo2;
tab-stops:list 9.0pt">
	<!--[if !supportLists]--><span lang="AF">6)<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><!--[endif]--><span lang="AF">2000 lerden sonra gelen asp.net o zamana kadar g&ouml;r&uuml;lmemiş bir&nbsp; veri bağlama (data-binding) olanağı sunar. Sunucu kontrollerinin olay g&uuml;d&uuml;ml&uuml; &ccedil;alışma &ouml;zelliği sayesinde veri bağlama işlemleri ile sunucu olayları arasında kordinasyon sağlanır.(GridView_RowCommand,GridView_RowCreated vb.)<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-top:0cm;margin-right:-23.4pt;margin-bottom:
0cm;margin-left:9.0pt;margin-bottom:.0001pt;text-indent:-18.0pt;mso-list:l1 level1 lfo2;
tab-stops:list 9.0pt">
	<!--[if !supportLists]--><span lang="AF">7)<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><!--[endif]--><span lang="AF">G&uuml;venlik sayfa bazlı g&uuml;venlik politikası ile uygulamalarınız g&uuml;vendedir. Asp.net authorization ve authentication implamantasyonları Kerberos desteklidir.<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-top:0cm;margin-right:-23.4pt;margin-bottom:
0cm;margin-left:-9.0pt;margin-bottom:.0001pt">
	<span lang="AF"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal" style="margin-top:0cm;margin-right:-23.4pt;margin-bottom:
0cm;margin-left:-9.0pt;margin-bottom:.0001pt">
	<span lang="AF"><o:p>&nbsp;</o:p></span><span style="font-size: 14pt; ">Asp.net Dezavantajları:</span></p>
<p class="MsoNormal" style="margin-top:0cm;margin-right:-23.4pt;margin-bottom:
0cm;margin-left:-9.0pt;margin-bottom:.0001pt">
	<span lang="AF"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal" style="margin-top:0cm;margin-right:-23.4pt;margin-bottom:
0cm;margin-left:9.0pt;margin-bottom:.0001pt;text-indent:-18.0pt;mso-list:l0 level1 lfo3;
tab-stops:list 9.0pt">
	<!--[if !supportLists]--><span lang="AF">1)<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><!--[endif]--><span lang="AF">Asp.net i&ccedil;erisindeki sayfa yenilense bile text alanlara girilen veriler sayfada kalmaktadır. Bunu Asp.net <b>ViewState</b> sayesinde yapar. Kullanıcının girdiği dataları <b>Hidden Input</b>&rsquo;lar i&ccedil;erisinde tutarak veri b&uuml;t&uuml;nl&uuml;ğ&uuml;n&uuml; sağlar. Bunu otomatik olarak ger&ccedil;ekleştirir.Verilerin sayfa i&ccedil;erisinde saklanması helede basit bir Name/SurName kombinasyonunun bile hidden inputlar i&ccedil;erisinde bu kadar yer tutması performansımızı etkileyecektir. <o:p></o:p></span></p>
<p class="MsoNormal" style="margin-top:0cm;margin-right:-23.4pt;margin-bottom:
0cm;margin-left:9.0pt;margin-bottom:.0001pt;text-indent:-18.0pt;mso-list:l0 level1 lfo3;
tab-stops:list 9.0pt">
	<!--[if !supportLists]--><span lang="AF">2)<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><!--[endif]--><span lang="AF">Asp.net ile zengin bir sunucu kontrolleri desteği gelmiştir. 2005 den sonra gelen Ajax Control Toolkit ise asp.net&rsquo;in zenginliğine zenginlik katmıştır. Fakat bu zenginlik arka planda &ouml;nemli bir sorunuda beraberinde getirmiştir. Sunucu kontrolleri standart html kontrolleri değildir. Kodun istemci tabanlı &ccedil;ıktısına d&ouml;n&uuml;şmesi gerekmektedir. &Ouml;zetle kullanıcı bizim &ouml;zenle hazırladığımız Gridview&rsquo;ı GridView olarak g&ouml;rmez. Web sitesini sağ tıklayıp kaynağını g&ouml;r&uuml;nt&uuml;lersek hi&ccedil;bir sunucu kontrol&uuml;ne raslanmaz. CLR burda devreye girmiştir. MSIL ara(s&ouml;zde) kodunu yorumlayıp Kullanıcı 1 den N&rsquo;ye kadar olan HttpRequestlere html &ccedil;ıktısı olarak httpresponse cevabı g&ouml;ndermiştir. Aşağıdaki temsili resim bu durumu temsil etmektedir. <o:p></o:p></span></p>
<p class="MsoNormal" style="margin-right:-23.4pt">
	<span lang="AF"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal" style="margin-top:0cm;margin-right:-23.4pt;margin-bottom:
0cm;margin-left:9.0pt;margin-bottom:.0001pt">
	<img alt="" height="347" src="http://www.developermania.net/developermania/resimld/makaleresimler/sunucuclient_iliskisi.jpg" width="555" /></p>
<p class="MsoNormal" style="margin-top:0cm;margin-right:-23.4pt;margin-bottom:
0cm;margin-left:9.0pt;margin-bottom:.0001pt">
	<span lang="AF"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal" style="margin-top:0cm;margin-right:-23.4pt;margin-bottom:
0cm;margin-left:9.0pt;margin-bottom:.0001pt">
	<span lang="AF">Kullancılar sunucu kontrollerini kullanarak httpRequestlerde bulunur.Sunucu bunları yorumlar sayfa kaynağını ve onunla ilişkili olan project assembly(.dll) leri beraber yorumlar.istemci tarafından kendine gelen bir click eventinin karşılığını bulur.&nbsp; D&ouml;nd&uuml;rd&uuml;ğ&uuml; cevap html &ccedil;ıktısıdır.Kullanıcıların tetikledikleri her method GridView gibi ListView gibi ağır sunucu kontrollerinin&nbsp; tekrar ve tekrar RENDER edilmesine html &lsquo;e d&ouml;n&uuml;şt&uuml;r&uuml;lmesi gerektirmektedir. Bunu her seferinde yapmak sunucuya ciddi bir y&uuml;k oluşturmakta ve Request-Response trafiğini etkilemektedir.<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-top:0cm;margin-right:-23.4pt;margin-bottom:
0cm;margin-left:9.0pt;margin-bottom:.0001pt">
	<span lang="AF"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal" style="margin-top:0cm;margin-right:-23.4pt;margin-bottom:
0cm;margin-left:9.0pt;margin-bottom:.0001pt">
	<span lang="AF"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal" style="margin-top:0cm;margin-right:-23.4pt;margin-bottom:
0cm;margin-left:9.0pt;margin-bottom:.0001pt">
	<span lang="AF"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal" style="margin-top:0cm;margin-right:-23.4pt;margin-bottom:
0cm;margin-left:9.0pt;margin-bottom:.0001pt;text-indent:-18.0pt;mso-list:l0 level1 lfo3;
tab-stops:list 9.0pt">
	<!--[if !supportLists]--><span lang="AF">3)<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><!--[endif]--><span lang="AF">Third-part component denilen, &uuml;&ccedil;&uuml;nc&uuml; parti sunucu kontrolleri sistemi yavaşlatır. &Ouml;rneğin sistem i&ccedil;inde arama sonu&ccedil;larının kulanıcıya yansıttığınız bir sayfanın daha g&uuml;zel g&ouml;r&uuml;nmesi i&ccedil;in (&ouml;rneğin rounded corner) &uuml;&ccedil;&uuml;nc&uuml; parti bir sunucu kontrol&uuml; kullandınız . Emin olun sisteminizde ciddi bir yavaşlamaya yol a&ccedil;acaktır.<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-top:0cm;margin-right:-23.4pt;margin-bottom:
0cm;margin-left:9.0pt;margin-bottom:.0001pt;text-indent:-18.0pt;mso-list:l0 level1 lfo3;
tab-stops:list 9.0pt">
	<!--[if !supportLists]--><span lang="AF">4)<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><!--[endif]--><span lang="AF">Asp.net vekt&ouml;rel,resim, grafik animasyon sevmez. &Ccedil;ok fazla miktarda kullanılan flash bannerlar,resim ve animasyonlar ağırlıklı olarak sunucu taraflı &ccedil;alışan bir platform olan asp.net tarafından pek sevilmez.<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-top:0cm;margin-right:-23.4pt;margin-bottom:
0cm;margin-left:9.0pt;margin-bottom:.0001pt;text-indent:-18.0pt;mso-list:l0 level1 lfo3;
tab-stops:list 9.0pt">
	<!--[if !supportLists]--><span lang="AF">5)<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><!--[endif]--><span lang="AF">Asp.net de kaynak kodu ve sunucu kodu Visual&nbsp; Studio 2003&rsquo;den sonraki versiyonlarda keskin &ccedil;izgilerle ayrılmıştır. Bu başlarda gayet avantajlı gibi g&ouml;r&uuml;nsede sistemimize istemci taraflı bir kodu g&ouml;mmek, yada hoş bir css tabanlı efekti dinamik olarak sunucu olaylarına bağlamak i&ccedil;in Csharp kodu i&ccedil;erisine html ve javascript kodunu g&ouml;mmek gerekmektedir. Bu durum, emin olun zaman ve maliyet olarak ciddi bir y&uuml;kt&uuml;r. Kodun anlaşılabilirliyi kaybolacaktır.</span>Buraya kadarki kısımda Asp.net&rsquo;in doğuşu,Neden ihtiya&ccedil; duyulduğu ve avantajları ve dezavantajları hakkında konuştuk. Sırada Asp.net kullanılarak daha esnek web uygulamaları nasıl yapılır? Performansı nasıl arttırabiliriz gibi bazı sorulara cevap arayacağız.</p>
<p class="MsoNormal" style="margin-right:-23.4pt">
	<span lang="AF"><o:p>&nbsp;</o:p></span><b style="text-indent: -18pt; "><span lang="AF" style="font-size:14.0pt;mso-ansi-language:AF">3)<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp; </span></span></b><b style="text-indent: -18pt; "><span lang="AF" style="font-size:14.0pt;mso-ansi-language:AF">Performans&amp;Esneklik&amp;Okunaklılık</span></b></p>
<p class="MsoNormal" style="margin-right:-23.4pt">
	<b><span lang="AF" style="font-size:14.0pt;mso-ansi-language:AF"><o:p>&nbsp;</o:p></span></b><b><span lang="AF">Performans: </span></b><span lang="AF">Asp.net geliştiricilerinin en &ccedil;ok şikayet ettikleri konu :&rdquo;Sayfalarım local makinamda hızlı &ccedil;alışıyor. Fakat sayfalarımı yayımladıktan sonra yavaş &ccedil;alıştığı hakkında şikayetler alıyorum.&rdquo; Şeklindedir. Bunu sebebi basittir. Web trafiği! Sayfalarınız test esnasında makinanızdaki .Net Framework sanla bir olarak local IIS &uuml;zerinde sayfanızı test etmenizi sağlar Bir kullanıcı i&ccedil;in hız normaldir. Yayımlandıktan sonra kullanıcısı sayısı on,y&uuml;z bin hatta onbinlere ulaşabilir. Sunucuların RAMleri bir s&uuml;re sonra Httprequestler ile başa &ccedil;ıkamaz hala gelir ve HttpResponse d&ouml;nd&uuml;rebilmek i&ccedil;in hepsini bir kuyruğa koyar. Buda cevabın bekleme s&uuml;resini uzatır. Web uygulamalarının windows uygulamalarından en b&uuml;y&uuml;k farkı aray&uuml;z ve assemblylerin kullancının makinasında değil sunucu makinasında tutulmasıdır.</span></p>
<p class="MsoNormal" style="margin-right:-23.4pt">
	&nbsp;Windows uygulamalarında sadece&nbsp; veriler i&ccedil;in cevap beklenirken web uygulamalarında veri ve aray&uuml;z bileşenlerinin html render &ccedil;ıktılarıda beklenir. Aşağıdaki şekilden de anlaşılacağı &uuml;zere web uygulamaları httpRequest ve httpresponse &uuml;zerine kuruludur. Trafik bir s&uuml;re sonra zirve seviyesine ulaşacaktır.</p>
<p class="MsoNormal" style="margin-right:-23.4pt">
	<img alt="" height="335" src="http://www.developermania.net/developermania/resimld/makaleresimler/multiusers.jpg" width="419" /></p>
<p class="MsoNormal" style="margin-right:-23.4pt">
	<span lang="AF"><o:p>&nbsp;</o:p></span><b><span lang="AF" style="font-size:14.0pt;mso-ansi-language:AF;mso-no-proof:
yes">Esneklik: </span></b><span lang="AF">Bir &ccedil;ok web projesini incelediğimde beni hayrete d&uuml;ş&uuml;ren şey. Geliştiricilerin katmanlı yapılara ilgi duyması fakat nasıl kullanacaklarını hangi kodun nereye yazılacağı konusunda fikir sahibi olmamalarıydı. &Ouml;rneğin. DAL(Veri Ulaşım katmanı) &lsquo;a yazılacak bir kodu BLL(&ldquo;İş Mantığı katmanı&rdquo;)&rsquo;da veya BLL da olması gereken UI&rsquo;de olduğunu g&ouml;zlemledim. Unutulmamalıdırki bir View katmanında g&ouml;revli assembly &lsquo;nin 5-6 Mb boyutlarında olması normaldir fakat bu değer 20 mb değerini aşıyorsa UI assembly&rsquo;si fazla şişmiştir.</span></p>
<p class="MsoNormal" style="margin-top:0cm;margin-right:-23.4pt;margin-bottom:
0cm;margin-left:18.0pt;margin-bottom:.0001pt">
	<span lang="AF"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal" style="margin-top:0cm;margin-right:-23.4pt;margin-bottom:
0cm;margin-left:18.0pt;margin-bottom:.0001pt">
	<img alt="" height="450" src="http://www.developermania.net/developermania/resimld/makaleresimler/uiblldal.jpg" width="700" /></p>
<p class="MsoNormal" style="margin-top:0cm;margin-right:-23.4pt;margin-bottom:
0cm;margin-left:18.0pt;margin-bottom:.0001pt">
	&Ouml;te yandan UI katmanında kullanılan&nbsp; pluginler arasında DAL plugini olmamalıdır. DAL plugini sadece BLL dan kontrol edilir. UI hi&ccedil;bir şekilde DAL &lsquo;dan haberdar olmamalıdır. Bazı yazılım uzmanları DAL&rsquo;a UI&rsquo;den erişim gereksinimi duyarlar. Bu bir gereksinim değildir tamamı ile kod tasarımının eksik yapılmasından kaynaklanmaktadır. G&uuml;n&uuml;m&uuml;zde tak kullan yazılımcılığı hızla y&uuml;kselmektedir. X firması i&ccedil;in tasarladığınız DAL, Y firmasına uymayabilir. DAL UI&rsquo;den %100 bağamsız olmalıki&nbsp; X firmasının DALını &ccedil;ıkarıp Y firmasının DALını taktıktan sonra bile web uygulamamız sorunsuz &ccedil;alışmalı!</p>
<p class="MsoNormal" style="margin-top:0cm;margin-right:-23.4pt;margin-bottom:
0cm;margin-left:18.0pt;margin-bottom:.0001pt">
	<span lang="AF"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal" style="margin-top:0cm;margin-right:-23.4pt;margin-bottom:
0cm;margin-left:18.0pt;margin-bottom:.0001pt">
	<span lang="AF"><o:p>&nbsp;</o:p></span><b><span lang="AF" style="font-size:14.0pt;mso-ansi-language:AF;mso-no-proof:
yes">Okunaklılık: </span></b><span lang="AF">Okunaklılık tek başına kelime anlamı olarak bile tek başına bir &ccedil;ok şey ifade etmektedir. Unutmayın yazdığınız kodun esneklik ve performans&nbsp; sonu&ccedil;larını sağlıklı bir şekilde değerlendirebilmek i&ccedil;in kodunuzun okunabilir olmasıda gerekmektedir. &Ouml;rneğin aşağıdaki kodu inceleyelim.</span></p>
<p class="MsoNormal" style="margin-top:0cm;margin-right:-23.4pt;margin-bottom:
0cm;margin-left:18.0pt;margin-bottom:.0001pt">
	<span lang="AF"><o:p>&nbsp;</o:p></span></p>
<pre style="margin-left:36.0pt;word-break:break-all"><span style="font-family:
&quot;News Gothic&quot;;color:black;mso-no-proof:yes">DateTime dat = </span><span style="font-family:&quot;News Gothic&quot;;color:blue;mso-no-proof:yes">new</span><span style="font-family:&quot;News Gothic&quot;;color:black;mso-no-proof:yes"> DateTime(2012, 1, 17, 9, 30, 0); <o:p></o:p></span></pre><pre style="margin-left:36.0pt;word-break:break-all"><span style="font-family:&quot;News Gothic&quot;;
color:blue;mso-no-proof:yes">string</span><span style="font-family:&quot;News Gothic&quot;;
color:black;mso-no-proof:yes"> city = </span><span style="font-family:&quot;News Gothic&quot;;
color:#A31515;mso-no-proof:yes">&quot;</span><span style="font-family:Arial;
color:#A31515;mso-no-proof:yes">İstanbul</span><span style="font-family:&quot;News Gothic&quot;;
color:#A31515;mso-no-proof:yes">&quot;</span><span style="font-family:&quot;News Gothic&quot;;
color:black;mso-no-proof:yes">;<o:p></o:p></span></pre><pre style="margin-left:
36.0pt;word-break:break-all"><span style="font-family:&quot;News Gothic&quot;;color:blue;
mso-no-proof:yes">int</span><span style="font-family:&quot;News Gothic&quot;;color:black;
mso-no-proof:yes"> temp = 10;<o:p></o:p></span></pre><pre style="margin-left:
36.0pt;word-break:break-all"><span style="font-family:&quot;News Gothic&quot;;color:blue;
mso-no-proof:yes">string</span><span style="font-family:&quot;News Gothic&quot;;
color:black;mso-no-proof:yes"> output = Console.Write(dat+</span><span style="font-family:Arial;color:black;mso-no-proof:yes">&ldquo; </span><span style="font-family:&quot;News Gothic&quot;;color:#CC0000;mso-no-proof:yes">tarihinde</span><span style="font-family:&quot;News Gothic&quot;;color:black;mso-no-proof:yes"> </span><span style="font-family:Arial;color:black;mso-no-proof:yes">&rdquo;+city+&rdquo;</span><span style="font-family:Arial;color:#CC0000;mso-no-proof:yes">&rsquo;da hava</span><span style="font-family:Arial;color:black;mso-no-proof:yes">&rdquo;+temp+&rdquo;</span><span style="font-family:Arial;color:#CC0000;mso-no-proof:yes">derecedir.</span><span style="font-family:Arial;color:black;mso-no-proof:yes">&rdquo;&nbsp; </span><span style="font-family:&quot;News Gothic&quot;;color:black;mso-no-proof:yes">);<o:p></o:p></span></pre><pre style="margin-left:36.0pt;word-break:break-all"><span style="font-family:&quot;News Gothic&quot;;
color:black;mso-no-proof:yes">Console.WriteLine(output);<o:p></o:p></span></pre>
<p class="MsoNormal" style="margin-top:0cm;margin-right:-23.4pt;margin-bottom:
0cm;margin-left:18.0pt;margin-bottom:.0001pt">
	<span lang="AF"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal" style="margin-top:0cm;margin-right:-23.4pt;margin-bottom:
0cm;margin-left:18.0pt;margin-bottom:.0001pt">
	<span lang="AF">Yukarıdaki kod bloguna dikkat ederseniz text veriler ile değişkenler i&ccedil; i&ccedil;e ge&ccedil;miştir. Bu tek satırlık basit kod bloğunda bile bu kadar okunaksız g&ouml;r&uuml;n&uuml;yorsa ger&ccedil;ek bir program bloğunda yukardaki tipdeki bir kodlama ne kadar okunaksız&nbsp; duracaktır. Şimdi aşağıdaki kod blopuna bakalım.<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-top:0cm;margin-right:-23.4pt;margin-bottom:
0cm;margin-left:18.0pt;margin-bottom:.0001pt">
	<span lang="AF"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal" style="margin-top:0cm;margin-right:-23.4pt;margin-bottom:
0cm;margin-left:18.0pt;margin-bottom:.0001pt">
	<span lang="AF"><o:p></o:p></span><span style="font-family: 'News Gothic'; color: black; ">DateTime dat = </span><span style="font-family: 'News Gothic'; color: blue; ">new</span><span style="font-family: 'News Gothic'; color: black; "> DateTime(2012, 1, 17, 9, 30, 0);&nbsp;</span></p>
<pre style="margin-left:36.0pt;word-break:break-all"><span style="font-family:&quot;News Gothic&quot;;
color:blue;mso-no-proof:yes">string</span><span style="font-family:&quot;News Gothic&quot;;
color:black;mso-no-proof:yes"> city = </span><span style="font-family:&quot;News Gothic&quot;;
color:#A31515;mso-no-proof:yes">&quot;</span><span style="font-family:Arial;
color:#A31515;mso-no-proof:yes"> İstanbul</span><span style="font-family:&quot;News Gothic&quot;;
color:#A31515;mso-no-proof:yes"> &quot;</span><span style="font-family:&quot;News Gothic&quot;;
color:black;mso-no-proof:yes">;<o:p></o:p></span></pre><pre style="margin-left:
36.0pt;word-break:break-all"><span style="font-family:&quot;News Gothic&quot;;color:blue;
mso-no-proof:yes">int</span><span style="font-family:&quot;News Gothic&quot;;color:black;
mso-no-proof:yes"> temp = 10;<o:p></o:p></span></pre><pre style="margin-left:
36.0pt;word-break:break-all"><span style="font-family:&quot;News Gothic&quot;;color:blue;
mso-no-proof:yes">string</span><span style="font-family:&quot;News Gothic&quot;;
color:black;mso-no-proof:yes"> output = String.Format(</span><span style="font-family:&quot;News Gothic&quot;;color:#A31515;mso-no-proof:yes">&quot;{0}</span><span style="font-family:Arial;color:#A31515;mso-no-proof:yes"> tarihinde {1}&lsquo; da hava {2} derecedir</span><span style="font-family:&quot;News Gothic&quot;;color:#A31515;mso-no-proof:yes">.&quot;</span><span style="font-family:&quot;News Gothic&quot;;color:black;mso-no-proof:yes">,<o:p></o:p></span></pre><pre style="margin-left:36.0pt;word-break:break-all"><span style="font-family:&quot;News Gothic&quot;;
color:black;mso-no-proof:yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dat, city, temp);<o:p></o:p></span></pre><pre style="margin-left:36.0pt;word-break:break-all"><span style="font-family:&quot;News Gothic&quot;;
color:black;mso-no-proof:yes">Console.WriteLine(output);<o:p></o:p></span></pre>
<p class="MsoNormal" style="margin-top:0cm;margin-right:-23.4pt;margin-bottom:
0cm;margin-left:36.0pt;margin-bottom:.0001pt">
	Gayet anlaşılır ve okunaklı! Text veri ile değişkenler String.Format metodu ile birbirinden ayrıldı ve kod bloğu kolay okunabilir bir hal aldı.</p>
<p class="MsoNormal" style="margin-top:0cm;margin-right:-23.4pt;margin-bottom:
0cm;margin-left:36.0pt;margin-bottom:.0001pt">
	Sonu&ccedil; olarak bu makalemizde; Asp.netin doğuşu, avantajları,dezavantajları ve mimari &ccedil;atısı &uuml;zerine bilgi verilmiştir.&nbsp;</p>]]></description></item><item><title><![CDATA[Extreme Enumlar]]></title><link><![CDATA[http://www.developermania.net/developermania/article.asp?katID=910]]></link><description><![CDATA[<p>
	<meta content="text/html; charset=Windows-1254" http-equiv="Content-Type" /> <meta content="Word.Document" name="ProgId" /> <meta content="Microsoft Word 11" name="Generator" /> <meta content="Microsoft Word 11" name="Originator" /> <link href="Extreme%20Enumlar2_files/filelist.xml" rel="File-List" /> <title>Extreme Enumlar </title> <!--[if gte mso 9]><xml>

 <o:DocumentProperties>

  <o:Author>yusuf</o:Author>

  <o:LastAuthor>yusuf</o:LastAuthor>

  <o:Revision>2</o:Revision>

  <o:TotalTime>324</o:TotalTime>

  <o:Created>2011-08-29T20:09:00Z</o:Created>

  <o:LastSaved>2011-08-29T20:09:00Z</o:LastSaved>

  <o:Pages>1</o:Pages>

  <o:Words>1126</o:Words>

  <o:Characters>6423</o:Characters>

  <o:Company>pc</o:Company>

  <o:Lines>53</o:Lines>

  <o:Paragraphs>15</o:Paragraphs>

  <o:CharactersWithSpaces>7534</o:CharactersWithSpaces>

  <o:Version>11.5606</o:Version>

 </o:DocumentProperties>

</xml><![endif]--><!--[if gte mso 9]><xml>

 <w:WordDocument>

  <w:SpellingState>Clean</w:SpellingState>

  <w:GrammarState>Clean</w:GrammarState>

  <w:HyphenationZone>21</w:HyphenationZone>

  <w:PunctuationKerning/>

  <w:ValidateAgainstSchemas/>

  <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>

  <w:IgnoreMixedContent>false</w:IgnoreMixedContent>

  <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>

  <w:Compatibility>

   <w:BreakWrappedTables/>

   <w:SnapToGridInCell/>

   <w:WrapTextWithPunct/>

   <w:UseAsianBreakRules/>

   <w:DontGrowAutofit/>

  </w:Compatibility>

  <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>

 </w:WordDocument>

</xml><![endif]--><!--[if gte mso 9]><xml>

 <w:LatentStyles DefLockedState="false" LatentStyleCount="156">

 </w:LatentStyles>

</xml><![endif]--><style>

<!--{cke_protected}%3C!%2D%2D%0A%0A%20%2F*%20Style%20Definitions%20*%2F%0A%0A%20p.MsoNormal%2C%20li.MsoNormal%2C%20div.MsoNormal%0A%0A%09%7Bmso-style-parent%3A%22%22%3B%0A%0A%09margin%3A0cm%3B%0A%0A%09margin-bottom%3A.0001pt%3B%0A%0A%09mso-pagination%3Awidow-orphan%3B%0A%0A%09font-size%3A12.0pt%3B%0A%0A%09font-family%3A%22Times%20New%20Roman%22%3B%0A%0A%09mso-fareast-font-family%3A%22Times%20New%20Roman%22%3B%7D%0A%0Aa%3Alink%2C%20span.MsoHyperlink%0A%0A%09%7Bcolor%3Ablue%3B%0A%0A%09text-decoration%3Aunderline%3B%0A%0A%09text-underline%3Asingle%3B%7D%0A%0Aa%3Avisited%2C%20span.MsoHyperlinkFollowed%0A%0A%09%7Bcolor%3Apurple%3B%0A%0A%09text-decoration%3Aunderline%3B%0A%0A%09text-underline%3Asingle%3B%7D%0A%0A%40page%20Section1%0A%0A%09%7Bsize%3A595.3pt%20841.9pt%3B%0A%0A%09margin%3A70.85pt%2070.85pt%2070.85pt%2070.85pt%3B%0A%0A%09mso-header-margin%3A35.4pt%3B%0A%0A%09mso-footer-margin%3A35.4pt%3B%0A%0A%09mso-paper-source%3A0%3B%7D%0A%0Adiv.Section1%0A%0A%09%7Bpage%3ASection1%3B%7D%0A%0A%2D%2D%3E-->

</style> <!--[if gte mso 10]>

<style>

 /* Style Definitions */

 table.MsoNormalTable

	{mso-style-name:"Table Normal";

	mso-tstyle-rowband-size:0;

	mso-tstyle-colband-size:0;

	mso-style-noshow:yes;

	mso-style-parent:"";

	mso-padding-alt:0cm 5.4pt 0cm 5.4pt;

	mso-para-margin:0cm;

	mso-para-margin-bottom:.0001pt;

	mso-pagination:widow-orphan;

	font-size:10.0pt;

	font-family:"Times New Roman";

	mso-ansi-language:#0400;

	mso-fareast-language:#0400;

	mso-bidi-language:#0400;}

</style>

<![endif]--></p>
<div class="Section1">
	<p class="MsoNormal">
		Enumlar yazılım m&uuml;hendislerinin imdadına &ccedil;ok değişkenli durumlarda yetişen bir sınıftır. Parantezlerinin i&ccedil;ine her durum i&ccedil;in ister indexli ister indexsiz fieldlar tanımlanabilir. Mesela;</p>
	<p class="MsoNormal">
		<o:p>&nbsp;</o:p>Enum SınavSonuclari</p>
	<p class="MsoNormal">
		{</p>
	<p class="MsoNormal">
		Butunleme,</p>
	<p class="MsoNormal">
		Kaldi,</p>
	<p class="MsoNormal">
		Ge&ccedil;ti</p>
	<p class="MsoNormal">
		}</p>
	<p class="MsoNormal">
		<o:p>&nbsp;</o:p></p>
	<p class="MsoNormal">
		Şeklinde tanımlanabilir. UserInterfaceden gelen durumlara g&ouml;re switch case<span style="mso-spacerun:yes"> </span>kullanılarak işlemler yapılır.</p>
	<p class="MsoNormal">
		<o:p>&nbsp;</o:p></p>
	<p class="MsoNormal">
		Void Hesapla( SınavSonuclari sonuc)</p>
	<p class="MsoNormal">
		{</p>
	<p class="MsoNormal">
		Switch (sonuc)</p>
	<p class="MsoNormal">
		{</p>
	<p class="MsoNormal">
		Case SınavSonuclari.Butunleme:<span style="mso-spacerun:yes"> </span>Birşeyler yap.... break;</p>
	<p class="MsoNormal">
		Case SınavSonuclari. Kaldi:<span style="mso-spacerun:yes"> </span>Birşeyler yap.... break;</p>
	<p class="MsoNormal">
		Case SınavSonuclari. Ge&ccedil;ti:<span style="mso-spacerun:yes"> </span>Birşeyler yap.... break;</p>
	<p class="MsoNormal">
		<o:p>&nbsp;</o:p></p>
	<p class="MsoNormal">
		}</p>
	<p class="MsoNormal">
		}</p>
	<p class="MsoNormal">
		<o:p>&nbsp;</o:p></p>
	<p class="MsoNormal">
		Yukarıdaki kullanım hepimizin bildiği y&ouml;ntemlerden biridir ve kullanışlıdır. Bir &ccedil;ok ileri kullanımı vardır tabiki bunları internette bulabilirsiniz. Benim yapmak istediğim; bir enum i&ccedil;ine index bilgisi hari&ccedil; istediğim kadar veri saklayabilirmiyim. Ş&ouml;yle d&uuml;ş&uuml;nelim object oriented programming de kod tekrarı ve gelen veririn sabit bir değerle karşılaştırılarak if case veya switch<span style="mso-spacerun:yes"> </span>case işelmleri yapmak kabul edilemez. &Ouml;rneğin;</p>
	<p class="MsoNormal">
		İf( Deger ==&rdquo;A&rdquo;)</p>
	<p class="MsoNormal">
		{</p>
	<p class="MsoNormal">
		// X dosyasına kayit al</p>
	<p class="MsoNormal">
		}</p>
	<p class="MsoNormal">
		Else if ( Deger =&rdquo;B&rdquo;)</p>
	<p class="MsoNormal">
		{</p>
	<p class="MsoNormal">
		// Y Dosyasına kayit al</p>
	<p class="MsoNormal">
		}</p>
	<p class="MsoNormal">
		Else if(Deger ==&rdquo;C&rdquo;)</p>
	<p class="MsoNormal">
		{</p>
	<p class="MsoNormal">
		// Z Dosyasına kayit al</p>
	<p class="MsoNormal">
		}</p>
	<p class="MsoNormal">
		Koca bir Erp &ccedil;&ouml;z&uuml;m&uuml; ve CRM bu tekrarın bir mod&uuml;l&uuml;nde veya başka mod&uuml;llerinde de tekrar edildiğini d&uuml;ş&uuml;n&uuml;n. Hemen enuma başvururuz &ouml;yle mi? Deger kontrol&uuml; i&ccedil;in evet ama bu folderların servernameleri değişmiş ise yani 192.143.0.1 değilde 192.143.04 olmuş ise?</p>
	<p class="MsoNormal">
		Void Hesapla( Deger<span style="mso-spacerun:yes"> </span>deger)</p>
	<p class="MsoNormal">
		{</p>
	<p class="MsoNormal">
		Switch (deger)</p>
	<p class="MsoNormal">
		{</p>
	<p class="MsoNormal">
		Case Deger.A:<span style="mso-spacerun:yes"> </span>// 192.143.0.1&rsquo; ye kaydet değişirse ne yapacaksın?.... break;</p>
	<p class="MsoNormal">
		Case Deger.B:<span style="mso-spacerun:yes"> </span>//192.143.0.2&rsquo; ye kaydet değişirse ne yapacaksın?....<span style="mso-spacerun:yes"> </span>break;</p>
	<p class="MsoNormal">
		Case Deger.C:<span style="mso-spacerun:yes"> </span>//192.143.0.3&rsquo; ye kaydet değişirse ne yapacaksın?..... break;</p>
	<p class="MsoNormal">
		<o:p>&nbsp;</o:p>}</p>
	<p class="MsoNormal">
		}</p>
	<p class="MsoNormal">
		Bu kadar lafı uzatmamın sebebi bazı ukala eleştirilerden uzak durmak i&ccedil;in ( Malum yazılımcılar ukaladır ve herşeyi en iyi bilirler.) Şimdi asıl işimize d&ouml;nelim Ben enumlar i&ccedil;inde string int veya başka bir tipte veri saklamak istiyorum.Bunun en iyi y&ouml;ntemi attributeleri kullanmaktır.(Belkide tek y&ouml;ntem) Yapmak istediğim tamda aşağıdaki gibi;</p>
	<p class="MsoNormal">
		<o:p>&nbsp;</o:p><span style="color:blue">public</span> <span style="color:blue">enum</span> <span style="color:#2B91AF">myFolders</span></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		{<o:p></o:p></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		[<span style="color:#2B91AF">StringValueAttribute</span>(<span style="color:#A31515">&quot;192.165.0.210/C/MyCustomerFiles&quot;</span>)]<o:p></o:p></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		Customers,<o:p></o:p></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		[<span style="color:#2B91AF">StringValueAttribute</span>(<span style="color:#A31515">&quot;192.165.0.212/D/MyStaffsFiles&quot;</span>)]<o:p></o:p></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		Staffs,<o:p></o:p></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		[<span style="color:#2B91AF">StringValueAttribute</span>(<span style="color:#A31515">&quot;192.165.0.213/C/MyEmployeesFiles&quot;</span>)]<o:p></o:p></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		Employees</p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		}</p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		Enum&rsquo;un fieldlarında CustomDefined Attributeler g&ouml;r&uuml;lmektedir. Bunun i&ccedil;in StringValueAttribute adında bir sınıf Attribute sınıfını kalıtım almıştır.</p>
	<p class="MsoNormal">
		<o:p>&nbsp;</o:p><span style="color:blue">public</span> <span style="color:blue">class</span> <span style="color:#2B91AF">StringValueAttribute</span> : <span style="color:#2B91AF">Attribute</span></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		{<o:p></o:p></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		<span style="color:blue">public</span> <span style="color:blue">string</span> StringValue { <span style="color:blue">get</span>; <span style="color:blue">protected</span> <span style="color:blue">set</span>; }<o:p></o:p></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		<span style="color:blue">public</span> StringValueAttribute(<span style="color:blue">string</span> value)<o:p></o:p></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		{<o:p></o:p></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		<span style="color:blue">this</span>.StringValue = value;<o:p></o:p></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		}<o:p></o:p></p>
	<p class="MsoNormal">
		}<o:p></o:p></p>
	<p class="MsoNormal">
		<span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;

mso-no-proof:yes">StringValueAttribute sınıfı hem attribute tipinde bir sınıftır hemde<span style="mso-spacerun:yes"> </span>constructor&rsquo;ı string bir deger i&ccedil;ermektedir(int double Control tipinde de olabilirdi).<o:p></o:p></span></p>
	<p class="MsoNormal">
		<span class="Apple-style-span" style="font-family: 'Courier New'; font-size: 13px; ">Enumunun bu attributelerine nasıl erişebiliriz?.Dikkat ederseniz <span style="color:#2B91AF">StringValueAttribute </span><span style="mso-spacerun:yes"> </span>Custom Attribute tipinde bir sınıftır.<span style="mso-spacerun:yes"> </span>Artık reflection metodlarını kullanmanın zamanı geldi sanırım.</span></p>
	<p class="MsoNormal">
		<span style="color:blue">public</span> <span style="color:blue">static</span> <span style="color:blue">class</span> <span style="color:#2B91AF">MyExtentions</span></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		{<o:p></o:p></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		<span style="color:blue">public</span> <span style="color:blue">static</span> <span style="color:blue">string</span> GetStringValue(<span style="color:blue">this</span> <span style="color:#2B91AF">Enum</span> value)<o:p></o:p></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		{<o:p></o:p></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		<span style="color:green">// tipe ulaş<o:p></o:p></span></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		<span style="color:#2B91AF">Type</span> type = value.GetType();<o:p></o:p></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		<span class="Apple-style-span" style="color: rgb(0, 128, 0); ">// Tipin field bilgisini al</span></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		<span style="color:#2B91AF">FieldInfo</span> fieldInfo = type.GetField(value.ToString());<o:p></o:p></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		<span class="Apple-style-span" style="color: rgb(0, 128, 0); ">// Attribute&rsquo;un string bilgisini al</span></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		<span style="color:#2B91AF">StringValueAttribute</span>[] attribs = fieldInfo.GetCustomAttributes(<o:p></o:p></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		<span style="color:blue">typeof</span>(<span style="color:#2B91AF">StringValueAttribute</span>), <span style="color:blue">false</span>) <span style="color:blue">as</span> <span style="color:#2B91AF">StringValueAttribute</span>[];<o:p></o:p></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		<span style="color:blue">return</span> attribs.Length &gt; 0 ? attribs[0].StringValue : <span style="color:blue">null</span>;</p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		<o:p></o:p></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		}<o:p></o:p></p>
	<p class="MsoNormal">
		}</p>
	<p class="MsoNormal">
		Bu makaleyi buraya kadar okuduğunuza g&ouml;re Reflection konusuna hakimsiniz demektir. Buradaki en g&uuml;zel nokta;</p>
	<p class="MsoNormal">
		<span class="Apple-style-span" style="color: rgb(0, 128, 0); ">// Attribute&rsquo;un string bilgisini al</span></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		<span style="color:#2B91AF">StringValueAttribute</span>[] attribs = fieldInfo.GetCustomAttributes(<o:p></o:p></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		<span style="color:blue">typeof</span>(<span style="color:#2B91AF">StringValueAttribute</span>), <span style="color:blue">false</span>) <span style="color:blue">as</span> <span style="color:#2B91AF">StringValueAttribute</span>[];<o:p></o:p></p>
	<p class="MsoNormal">
		yukarıdaki koddur. Dikkat ederseniz Enumların CustomAttributeleri string değer tutmaktadır. Buradaki GetCustomAttribute ile StringValueAttribute<span style="mso-spacerun:yes"> </span>değerine ulaşabildik. Şimdi ana programımızda nasıl kullanacağız onu g&ouml;relim.</p>
	<p class="MsoNormal">
		<o:p>&nbsp;</o:p><span style="color:blue">class</span> <span style="color:#2B91AF">Program</span></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		{<o:p></o:p></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		<span style="color:blue">static</span> <span style="color:blue">void</span> Main(<span style="color:blue">string</span>[] args)<o:p></o:p></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		{<o:p></o:p></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		<span style="color:blue">string</span> result = <span style="color:blue">string</span>.Empty;<o:p></o:p></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		<span style="color:#2B91AF">Console</span>.WriteLine(<span style="color:#A31515">&quot;PLease choose File Type to save your account files:&quot;</span>);<o:p></o:p></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		<span style="color:#2B91AF">Console</span>.WriteLine(<span style="color:#A31515">&quot;Customer to press C\n&quot;</span>);<o:p></o:p></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		<span style="color:#2B91AF">Console</span>.WriteLine(<span style="color:#A31515">&quot;Staff to pres S\n&quot;</span>);<o:p></o:p></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		<span style="color:#2B91AF">Console</span>.WriteLine(<span style="color:#A31515">&quot;Employee to pres E\n&quot;</span>);<o:p></o:p></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		result = <span style="color:#2B91AF">Console</span>.ReadLine();<o:p></o:p></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		<span style="color:blue">if</span> (result == <span style="color:#A31515">&quot;C&quot;</span>)<o:p></o:p></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		{<o:p></o:p></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		Save(<span style="color:#2B91AF">myFolders</span>.Customers); <o:p></o:p></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		}<o:p></o:p></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		<span style="color:blue">else</span> <span style="color:blue">if</span> (result == <span style="color:#A31515">&quot;S&quot;</span>)<o:p></o:p></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		{<o:p></o:p></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		Save(<span style="color:#2B91AF">myFolders</span>.Staffs); <o:p></o:p></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		}<o:p></o:p></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		<span style="color:blue">else</span> <span style="color:blue">if</span> (result == <span style="color:#A31515">&quot;E&quot;</span>)<o:p></o:p></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		{<o:p></o:p></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		Save(<span style="color:#2B91AF">myFolders</span>.Employees); <o:p></o:p></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		}<o:p></o:p></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		}<o:p></o:p></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		<span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:blue;mso-no-proof:yes">static</span><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;mso-no-proof:yes"> <span style="color:blue">void</span> Save(<span style="color:#2B91AF">myFolders</span> folder)</span></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		{<o:p></o:p></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		<span style="color:#2B91AF">Console</span>.WriteLine(<span style="color:#2B91AF">String</span>.Format(<span style="color:#A31515">&quot;{0}-&gt;{1}&quot;</span>, folder.GetStringValue(), <span style="color:#A31515">&quot; is saved under file&quot;</span>));<o:p></o:p></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		<span style="color:#2B91AF">Console</span>.Read();<o:p></o:p></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		}<o:p></o:p></p>
	<p class="MsoNormal">
		}</p>
	<p class="MsoNormal">
		<img alt="" height="337" src="http://www.developermania.net/developermania/resimld/makaleresimler/extremeenums.jpg" width="668" /></p>
	<p class="MsoNormal">
		<o:p></o:p></p>
	<p class="MsoNormal">
		<span class="Apple-style-span" style="font-family: 'Courier New'; font-size: 13px; ">Klavyeden girilen değer&rsquo;e karşılık gelen enum değeri Save metoduna g&ouml;nderiliyor.GetStringValue metodu ile bu enumlara Attribute edilmiş string dosya yolları &ccedil;ekiliyor. B&ouml;ylelikle uygulamamızda dosya yolları değişirse veya ipler değişirse veya başka bişi sadece enum değerlerimizi tutan string &lsquo;de oynama yapmamız yeterlidir. Peki bir den &ccedil;ok string tutamazmıyız? Tabiki :</span></p>
	<p class="MsoNormal">
		<span class="Apple-style-span" style="font-family: 'Courier New'; font-size: 13px; ">Senaryomuzu basit tutalım. Test ama&ccedil;lı bir Login ekranının UserName ve PassWord değerlerini tutalım. VE HER YERDE KULLANALIM.</span></p>
	<p class="MsoNormal">
		<span style="color:blue">public</span> <span style="color:blue">enum</span> <span style="color:#2B91AF">UserType</span> : <span style="color:blue">int</span></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		{<o:p></o:p></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		[<span style="color:#2B91AF">StringValueAttribute</span>(<span style="color:#A31515">&quot;xyz&quot;</span>, <span style="color:#A31515">&quot;test&quot;</span>)]<o:p></o:p></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		Login = 1<o:p></o:p></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		}<o:p></o:p></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		<span style="color:blue">public</span> <span style="color:blue">class</span> <span style="color:#2B91AF">StringValueAttribute</span> : <span style="color:#2B91AF">Attribute<o:p></o:p></span></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		{<o:p></o:p></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		<span style="color:blue">public</span> <span style="color:blue">string</span> UserName { <span style="color:blue">get</span>; <span style="color:blue">protected</span> <span style="color:blue">set</span>; }<o:p></o:p></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		<span style="color:blue">public</span> <span style="color:blue">string</span> PassWord { <span style="color:blue">get</span>; <span style="color:blue">protected</span> <span style="color:blue">set</span>; }<o:p></o:p></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		<span style="color:blue">public</span> <span style="color:blue">decimal</span> Something { <span style="color:blue">get</span>; <span style="color:blue">protected</span> <span style="color:blue">set</span>; }<o:p></o:p></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		<span style="color:blue">public</span> StringValueAttribute(<span style="color:blue">string</span> Username, <span style="color:blue">string</span> Password, <span style="color:blue">decimal</span> something)</p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		<o:p></o:p></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		{<o:p></o:p></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		UserName = Username;<o:p></o:p></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		PassWord = Password;</p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		Something = something;</p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		<o:p></o:p></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		}<o:p></o:p></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		<span style="color:blue">public</span> StringValueAttribute(<span style="color:blue">string</span> Username, <span style="color:blue">string</span> Password)<o:p></o:p></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		{<o:p></o:p></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		UserName = Username;<o:p></o:p></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		PassWord = Password;<o:p></o:p></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		}<o:p></o:p></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		<span style="color:blue">public</span> StringValueAttribute(<span style="color:blue">string</span> Username)<o:p></o:p></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		{<o:p></o:p></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		UserName = Username;<o:p></o:p></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		}</p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		<o:p></o:p></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		}</p>
	<p class="MsoNormal">
		<o:p></o:p></p>
	<p class="MsoNormal">
		<span class="Apple-style-span" style="font-family: 'Courier New'; font-size: 13px; ">Dikkat ederseniz Constructor miktarını artırdım<span style="mso-spacerun:yes"> </span>değişik kombinasyonlar da string veri saklanabilir UserName,Password veya UserName,Password ve something saklayabilir.</span></p>
	<p class="MsoNormal">
		GetStringValue metodu i&ccedil;inde k&uuml;&ccedil;&uuml;k bir değişiklik yapalım:</p>
	<p class="MsoNormal">
		<o:p>&nbsp;</o:p><span style="color:blue">public</span> <span style="color:blue">static</span> <span style="color:blue">class</span> <span style="color:#2B91AF">Extentions</span></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		{<o:p></o:p></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		<span style="color:blue">public</span> <span style="color:blue">static</span> <span style="color:#2B91AF">Object</span>[] GetStringValue(<span style="color:blue">this</span> <span style="color:#2B91AF">Enum</span> value)<o:p></o:p></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		{<o:p></o:p></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		<span style="color:#2B91AF">Type</span> type = value.GetType();<o:p></o:p></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		<span style="color:#2B91AF">FieldInfo</span> fieldInfo = type.GetField(value.ToString());<o:p></o:p></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		<span style="color:#2B91AF">StringValueAttribute</span>[] attribs = fieldInfo.GetCustomAttributes(<o:p></o:p></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		<span style="color:blue">typeof</span>(<span style="color:#2B91AF">StringValueAttribute</span>), <span style="color:blue">false</span>) <span style="color:blue">as</span> <span style="color:#2B91AF">StringValueAttribute</span>[];<o:p></o:p></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		<span style="color:blue">return</span> attribs[0].GetType().GetProperties()</p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		<o:p></o:p></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		.Select(p =&gt; p.GetValue(attribs[0], <span style="color:blue">null</span>))<o:p></o:p></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		.ToArray();<o:p></o:p></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		}</p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		<o:p></o:p></p>
	<p class="MsoNormal">
		}<o:p></o:p></p>
	<p class="MsoNormal">
		<span class="Apple-style-span" style="font-family: 'Courier New'; font-size: 13px; ">Basit bir Linq sorgusu ile StringValuAttribute sınıfının &ouml;zelliklerine ulaşırız.Enu i&ccedil;inde StringValueAttribute sınıfınını herhangi bir constructor&rsquo;ına değer atanıp &ouml;zelliğine atanmıştır.GetValue metodu ile bu değerler Object dizi şeklinde return edilir.</span></p>
</div>
]]></description></item><item><title><![CDATA[En Basit Haliyle MVVM Mimarisi]]></title><link><![CDATA[http://www.developermania.net/developermania/article.asp?katID=909]]></link><description><![CDATA[<p>
	<meta content="text/html; charset=Windows-1254" http-equiv="Content-Type" /> <meta content="Word.Document" name="ProgId" /> <meta content="Microsoft Word 11" name="Generator" /> <meta content="Microsoft Word 11" name="Originator" /> <link href="Kopyası%20En%20Basit%20Haliyle%20MVVM%20Mimarisi_files/filelist.xml" rel="File-List" /> <title>En Basit Haliyle MVVM Mimarisi</title> <!--[if gte mso 9]><xml>

 <o:DocumentProperties>

  <o:Author>yusuf</o:Author>

  <o:LastAuthor>yusuf</o:LastAuthor>

  <o:Revision>2</o:Revision>

  <o:TotalTime>139</o:TotalTime>

  <o:Created>2011-08-26T21:35:00Z</o:Created>

  <o:LastSaved>2011-08-26T21:35:00Z</o:LastSaved>

  <o:Pages>1</o:Pages>

  <o:Words>794</o:Words>

  <o:Characters>4531</o:Characters>

  <o:Company>pc</o:Company>

  <o:Lines>37</o:Lines>

  <o:Paragraphs>10</o:Paragraphs>

  <o:CharactersWithSpaces>5315</o:CharactersWithSpaces>

  <o:Version>11.5606</o:Version>

 </o:DocumentProperties>

</xml><![endif]--><!--[if gte mso 9]><xml>

 <w:WordDocument>

  <w:SpellingState>Clean</w:SpellingState>

  <w:GrammarState>Clean</w:GrammarState>

  <w:HyphenationZone>21</w:HyphenationZone>

  <w:PunctuationKerning/>

  <w:ValidateAgainstSchemas/>

  <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>

  <w:IgnoreMixedContent>false</w:IgnoreMixedContent>

  <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>

  <w:Compatibility>

   <w:BreakWrappedTables/>

   <w:SnapToGridInCell/>

   <w:WrapTextWithPunct/>

   <w:UseAsianBreakRules/>

   <w:DontGrowAutofit/>

  </w:Compatibility>

  <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>

 </w:WordDocument>

</xml><![endif]--><!--[if gte mso 9]><xml>

 <w:LatentStyles DefLockedState="false" LatentStyleCount="156">

 </w:LatentStyles>

</xml><![endif]--><style>

<!--{cke_protected}%3C!%2D%2D%0A%0A%20%2F*%20Font%20Definitions%20*%2F%0A%0A%20%40font-face%0A%0A%09%7Bfont-family%3AWingdings%3B%0A%0A%09panose-1%3A5%200%200%200%200%200%200%200%200%200%3B%0A%0A%09mso-font-charset%3A2%3B%0A%0A%09mso-generic-font-family%3Aauto%3B%0A%0A%09mso-font-pitch%3Avariable%3B%0A%0A%09mso-font-signature%3A0%20268435456%200%200%20-2147483648%200%3B%7D%0A%0A%20%2F*%20Style%20Definitions%20*%2F%0A%0A%20p.MsoNormal%2C%20li.MsoNormal%2C%20div.MsoNormal%0A%0A%09%7Bmso-style-parent%3A%22%22%3B%0A%0A%09margin%3A0cm%3B%0A%0A%09margin-bottom%3A.0001pt%3B%0A%0A%09mso-pagination%3Awidow-orphan%3B%0A%0A%09font-size%3A12.0pt%3B%0A%0A%09font-family%3A%22Times%20New%20Roman%22%3B%0A%0A%09mso-fareast-font-family%3A%22Times%20New%20Roman%22%3B%7D%0A%0Ap%0A%0A%09%7Bmso-margin-top-alt%3Aauto%3B%0A%0A%09margin-right%3A0cm%3B%0A%0A%09mso-margin-bottom-alt%3Aauto%3B%0A%0A%09margin-left%3A0cm%3B%0A%0A%09mso-pagination%3Awidow-orphan%3B%0A%0A%09font-size%3A12.0pt%3B%0A%0A%09font-family%3A%22Times%20New%20Roman%22%3B%0A%0A%09mso-fareast-font-family%3A%22Times%20New%20Roman%22%3B%7D%0A%0Aspan.hps%0A%0A%09%7Bmso-style-name%3Ahps%3B%7D%0A%0Aspan.hpsatn%0A%0A%09%7Bmso-style-name%3A%22hps%20atn%22%3B%7D%0A%0A%40page%20Section1%0A%0A%09%7Bsize%3A595.3pt%20841.9pt%3B%0A%0A%09margin%3A70.85pt%2070.85pt%2070.85pt%2070.85pt%3B%0A%0A%09mso-header-margin%3A35.4pt%3B%0A%0A%09mso-footer-margin%3A35.4pt%3B%0A%0A%09mso-paper-source%3A0%3B%7D%0A%0Adiv.Section1%0A%0A%09%7Bpage%3ASection1%3B%7D%0A%0A%20%2F*%20List%20Definitions%20*%2F%0A%0A%20%40list%20l0%0A%0A%09%7Bmso-list-id%3A2009366202%3B%0A%0A%09mso-list-template-ids%3A-979593352%3B%7D%0A%0A%40list%20l0%3Alevel1%0A%0A%09%7Bmso-level-number-format%3Abullet%3B%0A%0A%09mso-level-text%3A%5CF0B7%3B%0A%0A%09mso-level-tab-stop%3A36.0pt%3B%0A%0A%09mso-level-number-position%3Aleft%3B%0A%0A%09text-indent%3A-18.0pt%3B%0A%0A%09mso-ansi-font-size%3A10.0pt%3B%0A%0A%09font-family%3ASymbol%3B%7D%0A%0Aol%0A%0A%09%7Bmargin-bottom%3A0cm%3B%7D%0A%0Aul%0A%0A%09%7Bmargin-bottom%3A0cm%3B%7D%0A%0A%2D%2D%3E-->

</style> <!--[if gte mso 10]>

<style>

 /* Style Definitions */

 table.MsoNormalTable

	{mso-style-name:"Table Normal";

	mso-tstyle-rowband-size:0;

	mso-tstyle-colband-size:0;

	mso-style-noshow:yes;

	mso-style-parent:"";

	mso-padding-alt:0cm 5.4pt 0cm 5.4pt;

	mso-para-margin:0cm;

	mso-para-margin-bottom:.0001pt;

	mso-pagination:widow-orphan;

	font-size:10.0pt;

	font-family:"Times New Roman";

	mso-ansi-language:#0400;

	mso-fareast-language:#0400;

	mso-bidi-language:#0400;}

</style>

<![endif]--></p>
<div class="Section1">
	<p class="MsoNormal">
		Mvvm mimari kalıbı<span style="mso-spacerun:yes"> </span>Silverlight/Wpf geliştiricileri i&ccedil;in vaz ge&ccedil;ilmez olma yolundadır. Temelleri Martin Fowler&rsquo;in Presentetion Model&rsquo;ınıa dayanan mimari kalıbımız g&uuml;c&uuml;n&uuml; MVC ve MVP &lsquo;a bor&ccedil;ludur. Tasarım desenlerinde ama&ccedil; Code Behind ile UI geliştirilmesini birbirinden tamamiyle yada kısmen ayırmaktır. MVP bunu kısmen başarsada wpf ve Silverlight&rsquo;ın g&uuml;&ccedil;l&uuml; Binding mekanizmasına sahip olmadığından klasik geliştiricileri bazen sıkmaktadır. Burada MVVM &lsquo;ın g&uuml;c&uuml;n&uuml; nerden geldiğinden bahsedeceğim.</p>
	<p class="MsoNormal">
		Model View <span class="hps">ViewModel</span> <span class="hpsatn">(</span>MVVM) <span class="hps">Martin</span> <span class="hps">Fowler tarafından</span> <span class="hps">tanıtılan</span> <span class="hps">Sunum</span> <span class="hps">Modeli (Presentation Model) </span><span style="mso-spacerun:yes"> </span><span class="hps">tasarım deseni</span>ne dayanmaktadır. Ama temelde mvc ve mvp&rsquo;nin temel amacına hizmet eder.</p>
	<p class="MsoNormal">
		<o:p>&nbsp;</o:p></p>
	<p class="MsoNormal">
		MVVM &uuml;&ccedil; temel taştan oluşur: Model,View ve ViewModel&rsquo;dır. ViewModel Model &lsquo;ı referans alırken View Model&rsquo;dan tamamen habersizdir. Bu satede aray&uuml;z geliştiricisi hi&ccedil; bir şekilde iş mantığı ile y&uuml;z y&uuml;ze gelmez.</p>
	<p class="MsoNormal">
		<o:p>&nbsp;<img alt="" height="480" src="http://www.developermania.net/developermania/resimld/makaleresimler/mvvm_pattern_diagram.jpg" width="532" /></o:p></p>
	<p class="MsoNormal">
		Yukarıdaki diagram bu durumu en g&uuml;zel şekilde anlatmaktadır. Modle proje boyunca değişebilir. View bu durumdan habersizdir. Modle &lsquo;dan soyutlanmıştır. View Model<span style="mso-spacerun:yes"> </span>Model&rsquo;ı ,View ise View Model&rsquo;ı referans alır. Konuyu daha iyi anlamak i&ccedil;in bir silverlight projesi başlatalım. Ve aşağıdaki projeyi oluşturalım.</p>
	<p class="MsoNormal">
		<o:p>&nbsp;</o:p></p>
	<p class="MsoNormal">
		<o:p>&nbsp;<img alt="" height="342" src="http://www.developermania.net/developermania/resimld/makaleresimler/mvvmsolution.gif" width="219" /></o:p></p>
	<p class="MsoNormal">
		<b style="mso-bidi-font-weight:normal">MyData.cs: </b>Entitylerin tutulduğu sınıftır. Projenin data işleyiş mantığı burada tutulur.</p>
	<p class="MsoNormal">
		<o:p>&nbsp;</o:p></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		<span style="color:blue">public</span> <span style="color:blue">class</span> <span style="color:#2B91AF">MyData<o:p></o:p></span></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		{<o:p></o:p></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		<span style="color:blue">public</span> <span style="color:blue">int</span> ID { <span style="color:blue">get</span>; <span style="color:blue">set</span>; }<o:p></o:p></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		<span style="color:blue">public</span> <span style="color:blue">string</span> Name { <span style="color:blue">get</span>; <span style="color:blue">set</span>; }<o:p></o:p></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		<span style="color:blue">public</span> <span style="color:blue">string</span> Price { <span style="color:blue">get</span>; <span style="color:blue">set</span>; }<o:p></o:p></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		<span style="color:blue">public</span> <span style="color:blue">string</span> Author { <span style="color:blue">get</span>; <span style="color:blue">set</span>; }<o:p></o:p></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		<span style="color:blue">public</span> <span style="color:blue">string</span> Catalog { <span style="color:blue">get</span>; <span style="color:blue">set</span>; }<o:p></o:p></p>
	<p class="MsoNormal">
		}<o:p></o:p></p>
	<p class="MsoNormal">
		<b style="mso-bidi-font-weight:normal"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;mso-no-proof:yes">MyDataViewModel.cs : </span></b><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;

mso-no-proof:yes"><span style="mso-spacerun:yes"> </span>Model kısmının iş mantığının geliştirildiği kısımdır. İş mantığı burada tutulur. Model referans alınmıştır. Ama Model sınıfımızdan habersizdir.</span></p>
	<p class="MsoNormal">
		<span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:blue;mso-no-proof:yes">public</span><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;mso-no-proof:yes"> <span style="color:blue">interface</span> <span style="color:#2B91AF">IView</span></span></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		{<o:p></o:p></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		<span style="color:#2B91AF">List</span>&lt;<span style="color:#2B91AF">MyData</span>&gt; GetData();<o:p></o:p></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		}</p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		<span style="color:blue">public</span> <span style="color:blue">class</span> <span style="color:#2B91AF">DataManager</span></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		{<o:p></o:p></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		<span style="color:blue">private</span> <span style="color:#2B91AF">IView</span> _view { <span style="color:blue">get</span>; <span style="color:blue">set</span>; }<o:p></o:p></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		<span style="color:blue">public</span> DataManager(<span style="color:#2B91AF">IView</span> view)<o:p></o:p></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		{<o:p></o:p></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		_view = view;<o:p></o:p></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		}</p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		<span style="color:blue">public</span> <span style="color:#2B91AF">IView</span> ResultSet { <span style="color:blue">get</span> { <span style="color:blue">return</span> _view; } }</p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		<o:p></o:p></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		}<o:p></o:p></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		<span style="color:blue">public</span> <span style="color:blue">class</span> <span style="color:#2B91AF">MyDataViewModel</span> : <span style="color:#2B91AF">IView</span></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		{<o:p></o:p></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		<span style="color:blue">private</span> <span style="color:#2B91AF">List</span>&lt;<span style="color:#2B91AF">MyData</span>&gt; listOfMyData { <span style="color:blue">get</span>; <span style="color:blue">set</span>; }<o:p></o:p></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		<span style="color:blue">public</span> MyDataViewModel()<o:p></o:p></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		{<o:p></o:p></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		listOfMyData = <span style="color:blue">new</span> <span style="color:#2B91AF">List</span>&lt;<span style="color:#2B91AF">MyData</span>&gt;();<o:p></o:p></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		}<o:p></o:p></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		<span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;mso-no-proof:yes"><o:p>&nbsp;</o:p></span></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		#region<span style="font-size:

10.0pt;font-family:&quot;Courier New&quot;;mso-no-proof:yes"> IView Members<o:p></o:p></span></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		// codes...<o:p></o:p></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		#endregiom</p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		}</p>
	<p class="MsoNormal">
		<o:p>&nbsp;</o:p></p>
	<p class="MsoNormal">
		Yukarıdaki kod bloğunda g&ouml;r&uuml;ld&uuml;ğ&uuml; gibi DataManager sınıfı IView interface&rsquo;ini Constructorunda blundurur. IView interfa&rsquo;i hangi sınıfa implement edilirse IView interface&rsquo;i ile iletişim sağlanır.</p>
	<p class="MsoNormal">
		<o:p>&nbsp;</o:p></p>
	<p class="MsoNormal">
		<b style="mso-bidi-font-weight:normal">BookViewer.xaml: </b><span style="mso-spacerun:yes"> </span>Bir User Kontrold&uuml;r. Aray&uuml;z geliştiricimiz bu user kontrollerden binlerce geliştirebilir. Ama code behindları boştur. Sadece tasarım kısmı geliştirilir.</p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		<span style="font-size:

10.0pt;font-family:&quot;Courier New&quot;;color:blue;mso-no-proof:yes">&lt;</span><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:#A31515;mso-no-proof:

yes">Grid</span><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;

color:red;mso-no-proof:yes"> x</span><span style="font-size:10.0pt;font-family:

&quot;Courier New&quot;;color:blue;mso-no-proof:yes">:</span><span style="font-size:10.0pt;

font-family:&quot;Courier New&quot;;color:red;mso-no-proof:yes">Name</span><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:blue;mso-no-proof:yes">=&quot;LayoutRoot&quot;</span><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:red;mso-no-proof:yes"> Background</span><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;

color:blue;mso-no-proof:yes">=&quot;White&quot;&gt;<o:p></o:p></span></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		<span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:blue;mso-no-proof:yes">&lt;</span><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:#A31515;mso-no-proof:

yes">StackPanel</span><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;

color:blue;mso-no-proof:yes">&gt;<o:p></o:p></span></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		<span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:blue;mso-no-proof:yes">&lt;</span><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:#A31515;mso-no-proof:

yes">data</span><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;

color:blue;mso-no-proof:yes">:</span><span style="font-size:10.0pt;font-family:

&quot;Courier New&quot;;color:#A31515;mso-no-proof:yes">DataGrid</span><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:red;mso-no-proof:yes"> Margin</span><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;

color:blue;mso-no-proof:yes">=&quot;8&quot;</span><span style="font-size:10.0pt;

font-family:&quot;Courier New&quot;;color:red;mso-no-proof:yes"> Height</span><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:blue;mso-no-proof:yes">=&quot;400&quot;</span><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:red;mso-no-proof:yes"> Width</span><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:blue;

mso-no-proof:yes">=&quot;650&quot;</span><span style="font-size:10.0pt;

font-family:&quot;Courier New&quot;;color:red;mso-no-proof:yes"> ItemsSource</span><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:blue;mso-no-proof:yes">=&quot;{</span><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:#A31515;mso-no-proof:

yes">Binding</span><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;

color:blue;mso-no-proof:yes">}&quot;&gt;<o:p></o:p></span></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		<span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:blue;mso-no-proof:yes">&lt;</span><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:#A31515;mso-no-proof:

yes">data</span><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;

color:blue;mso-no-proof:yes">:</span><span style="font-size:10.0pt;font-family:

&quot;Courier New&quot;;color:#A31515;mso-no-proof:yes">DataGrid.Columns</span><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:blue;mso-no-proof:yes">&gt;<o:p></o:p></span></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		<span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:blue;mso-no-proof:yes">&lt;</span><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:#A31515;mso-no-proof:

yes">data</span><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;

color:blue;mso-no-proof:yes">:</span><span style="font-size:10.0pt;font-family:

&quot;Courier New&quot;;color:#A31515;mso-no-proof:yes">DataGridTextColumn</span><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:red;mso-no-proof:yes"> IsReadOnly</span><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;

color:blue;mso-no-proof:yes">=&quot;True&quot;</span><span style="font-size:

10.0pt;font-family:&quot;Courier New&quot;;color:red;mso-no-proof:yes"> Header</span><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:blue;mso-no-proof:yes">=&quot;ID&quot;</span><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:red;mso-no-proof:yes"> Binding</span><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;

color:blue;mso-no-proof:yes">=&quot;{</span><span style="font-size:10.0pt;

font-family:&quot;Courier New&quot;;color:#A31515;mso-no-proof:yes">Binding</span><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:red;mso-no-proof:yes"> ID</span><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:blue;

mso-no-proof:yes">}&quot;&gt;&lt;/</span><span style="font-size:10.0pt;

font-family:&quot;Courier New&quot;;color:#A31515;mso-no-proof:yes">data</span><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:blue;mso-no-proof:yes">:</span><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:#A31515;mso-no-proof:

yes">DataGridTextColumn</span><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;

color:blue;mso-no-proof:yes">&gt;<o:p></o:p></span></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		<span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:blue;mso-no-proof:yes">&lt;</span><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:#A31515;mso-no-proof:

yes">data</span><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;

color:blue;mso-no-proof:yes">:</span><span style="font-size:10.0pt;font-family:

&quot;Courier New&quot;;color:#A31515;mso-no-proof:yes">DataGridTextColumn</span><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:red;mso-no-proof:yes"> IsReadOnly</span><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;

color:blue;mso-no-proof:yes">=&quot;True&quot;</span><span style="font-size:

10.0pt;font-family:&quot;Courier New&quot;;color:red;mso-no-proof:yes"> Header</span><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:blue;mso-no-proof:yes">=&quot;Name&quot;</span><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:red;mso-no-proof:yes"> Binding</span><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;

color:blue;mso-no-proof:yes">=&quot;{</span><span style="font-size:10.0pt;

font-family:&quot;Courier New&quot;;color:#A31515;mso-no-proof:yes">Binding</span><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:red;mso-no-proof:yes"> Name</span><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:blue;

mso-no-proof:yes">}&quot;&gt;&lt;/</span><span style="font-size:10.0pt;

font-family:&quot;Courier New&quot;;color:#A31515;mso-no-proof:yes">data</span><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:blue;mso-no-proof:yes">:</span><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:#A31515;mso-no-proof:

yes">DataGridTextColumn</span><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;

color:blue;mso-no-proof:yes">&gt;<o:p></o:p></span></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		<span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:blue;mso-no-proof:yes">&lt;</span><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:#A31515;mso-no-proof:

yes">data</span><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;

color:blue;mso-no-proof:yes">:</span><span style="font-size:10.0pt;font-family:

&quot;Courier New&quot;;color:#A31515;mso-no-proof:yes">DataGridTextColumn</span><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:red;mso-no-proof:yes"> IsReadOnly</span><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;

color:blue;mso-no-proof:yes">=&quot;True&quot;</span><span style="font-size:

10.0pt;font-family:&quot;Courier New&quot;;color:red;mso-no-proof:yes"> Header</span><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:blue;mso-no-proof:yes">=&quot;Price&quot;</span><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:red;mso-no-proof:yes"> Binding</span><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;

color:blue;mso-no-proof:yes">=&quot;{</span><span style="font-size:10.0pt;

font-family:&quot;Courier New&quot;;color:#A31515;mso-no-proof:yes">Binding</span><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:red;mso-no-proof:yes"> Price</span><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:blue;

mso-no-proof:yes">}&quot;&gt;&lt;/</span><span style="font-size:10.0pt;

font-family:&quot;Courier New&quot;;color:#A31515;mso-no-proof:yes">data</span><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:blue;mso-no-proof:yes">:</span><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:#A31515;mso-no-proof:

yes">DataGridTextColumn</span><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;

color:blue;mso-no-proof:yes">&gt;<o:p></o:p></span></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		<span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:blue;mso-no-proof:yes">&lt;</span><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:#A31515;mso-no-proof:

yes">data</span><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;

color:blue;mso-no-proof:yes">:</span><span style="font-size:10.0pt;font-family:

&quot;Courier New&quot;;color:#A31515;mso-no-proof:yes">DataGridTextColumn</span><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:red;mso-no-proof:yes"> IsReadOnly</span><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;

color:blue;mso-no-proof:yes">=&quot;True&quot;</span><span style="font-size:

10.0pt;font-family:&quot;Courier New&quot;;color:red;mso-no-proof:yes"> Header</span><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:blue;mso-no-proof:yes">=&quot;Author&quot;</span><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:red;mso-no-proof:yes"> Binding</span><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;

color:blue;mso-no-proof:yes">=&quot;{</span><span style="font-size:10.0pt;

font-family:&quot;Courier New&quot;;color:#A31515;mso-no-proof:yes">Binding</span><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:red;mso-no-proof:yes"> Author</span><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;

color:blue;mso-no-proof:yes">}&quot;&gt;&lt;/</span><span style="font-size:

10.0pt;font-family:&quot;Courier New&quot;;color:#A31515;mso-no-proof:yes">data</span><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:blue;mso-no-proof:yes">:</span><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:#A31515;mso-no-proof:

yes">DataGridTextColumn</span><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;

color:blue;mso-no-proof:yes">&gt;<o:p></o:p></span></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		<span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:blue;mso-no-proof:yes">&lt;</span><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:#A31515;mso-no-proof:

yes">data</span><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;

color:blue;mso-no-proof:yes">:</span><span style="font-size:10.0pt;font-family:

&quot;Courier New&quot;;color:#A31515;mso-no-proof:yes">DataGridTextColumn</span><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:red;mso-no-proof:yes"> IsReadOnly</span><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;

color:blue;mso-no-proof:yes">=&quot;True&quot;</span><span style="font-size:

10.0pt;font-family:&quot;Courier New&quot;;color:red;mso-no-proof:yes"> Header</span><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:blue;mso-no-proof:yes">=&quot;Catalog&quot;</span><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:red;mso-no-proof:yes"> Binding</span><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;

color:blue;mso-no-proof:yes">=&quot;{</span><span style="font-size:10.0pt;

font-family:&quot;Courier New&quot;;color:#A31515;mso-no-proof:yes">Binding</span><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:red;mso-no-proof:yes"> Catalog</span><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;

color:blue;mso-no-proof:yes">}&quot;&gt;&lt;/</span><span style="font-size:

10.0pt;font-family:&quot;Courier New&quot;;color:#A31515;mso-no-proof:yes">data</span><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:blue;mso-no-proof:yes">:</span><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:#A31515;mso-no-proof:

yes">DataGridTextColumn</span><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;

color:blue;mso-no-proof:yes">&gt;<o:p></o:p></span></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		<span style="font-size:10.0pt;

font-family:&quot;Courier New&quot;;color:blue;mso-no-proof:yes">&lt;/</span><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:#A31515;mso-no-proof:

yes">data</span><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;

color:blue;mso-no-proof:yes">:</span><span style="font-size:10.0pt;font-family:

&quot;Courier New&quot;;color:#A31515;mso-no-proof:yes">DataGrid.Columns</span><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:blue;mso-no-proof:yes">&gt;<o:p></o:p></span></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		<span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:blue;mso-no-proof:yes">&lt;/</span><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:#A31515;mso-no-proof:

yes">data</span><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;

color:blue;mso-no-proof:yes">:</span><span style="font-size:10.0pt;font-family:

&quot;Courier New&quot;;color:#A31515;mso-no-proof:yes">DataGrid</span><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:blue;mso-no-proof:yes">&gt;<o:p></o:p></span></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		<span style="font-size:

10.0pt;font-family:&quot;Courier New&quot;;color:blue;mso-no-proof:yes">&lt;/</span><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:#A31515;mso-no-proof:

yes">StackPanel</span><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;

color:blue;mso-no-proof:yes">&gt;<o:p></o:p></span></p>
	<p class="MsoNormal">
		<span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:blue;mso-no-proof:yes">&lt;/</span><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:#A31515;mso-no-proof:

yes">Grid</span><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;

color:blue;mso-no-proof:yes">&gt;</span></p>
	<p class="MsoNormal">
		<b style="mso-bidi-font-weight:normal">MainPage.xaml : </b>Asp.net ascx user kontrolleri gibi xaml user kontrolleride ana forma yerleştirilir ve Binding işlemi code behind&rsquo;da yapılır.</p>
	<p class="MsoNormal">
		<o:p>&nbsp;</o:p><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:blue;mso-no-proof:yes">&lt;</span><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:#A31515;mso-no-proof:

yes">UserControl</span><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;

color:red;mso-no-proof:yes"> x</span><span style="font-size:10.0pt;font-family:

&quot;Courier New&quot;;color:blue;mso-no-proof:yes">:</span><span style="font-size:10.0pt;

font-family:&quot;Courier New&quot;;color:red;mso-no-proof:yes">Class</span><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:blue;mso-no-proof:yes">=&quot;silver.MVVM.Project.MainPage&quot;</span></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		xmlns<span style="color:blue">=&quot;http://schemas.microsoft.com/winfx/2006/xaml/presentation&quot;</span> <o:p></o:p></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		xmlns<span style="color:blue">:</span><span style="color:red">x</span><span style="color:blue">=&quot;http://schemas.microsoft.com/winfx/2006/xaml&quot;<o:p></o:p></span></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		xmlns<span style="color:blue">:</span><span style="color:red">d</span><span style="color:blue">=&quot;http://schemas.microsoft.com/expression/blend/2008&quot;</span><span style="color:red"> xmlns</span><span style="color:blue">:</span><span style="color:red">mc</span><span style="color:blue">=&quot;http://schemas.openxmlformats.org/markup-compatibility/2006&quot;</span> <o:p></o:p></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		mc<span style="color:blue">:</span><span style="color:red">Ignorable</span><span style="color:blue">=&quot;d&quot;</span><span style="color:red"> d</span><span style="color:blue">:</span><span style="color:red">DesignWidth</span><span style="color:blue">=&quot;850&quot;</span><span style="color:red"> d</span><span style="color:blue">:</span><span style="color:red">DesignHeight</span><span style="color:blue">=&quot;850&quot;<o:p></o:p></span></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		xmlns<span style="color:blue">:</span><span style="color:red">views</span><span style="color:blue">=&quot;clr-namespace:silver.MVVM.Project.View&quot;&gt;<o:p></o:p></span></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		<span style="font-size:

10.0pt;font-family:&quot;Courier New&quot;;color:blue;mso-no-proof:yes">&lt;</span><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:#A31515;mso-no-proof:

yes">Grid</span><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;

color:red;mso-no-proof:yes"> x</span><span style="font-size:10.0pt;font-family:

&quot;Courier New&quot;;color:blue;mso-no-proof:yes">:</span><span style="font-size:10.0pt;

font-family:&quot;Courier New&quot;;color:red;mso-no-proof:yes">Name</span><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:blue;mso-no-proof:yes">=&quot;LayoutRoot&quot;&gt;<o:p></o:p></span></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		<span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:blue;mso-no-proof:yes">&lt;</span><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:#A31515;mso-no-proof:

yes">views</span><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;

color:blue;mso-no-proof:yes">:</span><span style="font-size:10.0pt;font-family:

&quot;Courier New&quot;;color:#A31515;mso-no-proof:yes">BookViewer</span><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:red;mso-no-proof:yes"> Name</span><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:blue;

mso-no-proof:yes">=&quot;myDataViewer&quot;</span><span style="font-size:10.0pt;

font-family:&quot;Courier New&quot;;color:red;mso-no-proof:yes"> Margin</span><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:blue;mso-no-proof:yes">=&quot;0,0,0,0&quot;</span><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:red;mso-no-proof:yes"> Loaded</span><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;

color:blue;mso-no-proof:yes">=&quot;BookViewer_Loaded&quot; &gt;&lt;/</span><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:#A31515;mso-no-proof:

yes">views</span><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;

color:blue;mso-no-proof:yes">:</span><span style="font-size:10.0pt;font-family:

&quot;Courier New&quot;;color:#A31515;mso-no-proof:yes">BookViewer</span><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:blue;mso-no-proof:yes">&gt;<o:p></o:p></span></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		<span style="font-size:

10.0pt;font-family:&quot;Courier New&quot;;color:blue;mso-no-proof:yes">&lt;/</span><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:#A31515;mso-no-proof:

yes">Grid</span><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;

color:blue;mso-no-proof:yes">&gt;<o:p></o:p></span></p>
	<p class="MsoNormal">
		<span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;

color:blue;mso-no-proof:yes">&lt;/</span><span style="font-size:10.0pt;

font-family:&quot;Courier New&quot;;color:#A31515;mso-no-proof:yes">UserControl</span><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:blue;mso-no-proof:yes">&gt;</span></p>
	<p class="MsoNormal">
		<b style="mso-bidi-font-weight:normal">MainPage.xaml.cs : </b>BookViwer user kontrol&uuml;n&uuml;n loaded olayına viewmodel vasıtasıyla binding yapılır.</p>
	<p class="MsoNormal">
		<span style="color:blue">private</span> <span style="color:blue">void</span> BookViewer_Loaded(<span style="color:blue">object</span> sender, <span style="color:#2B91AF">RoutedEventArgs</span> e)</p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		<o:p></o:p></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		{<o:p></o:p></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		ViewModel.<span style="color:#2B91AF">DataManager</span> mydata = <span style="color:blue">new</span> <span style="color:#2B91AF">DataManager</span>(<span style="color:blue">new</span> <span style="color:#2B91AF">MyDataViewModel</span>());<o:p></o:p></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		myDataViewer.DataContext = mydata.ResultSet.GetData();<o:p></o:p></p>
	<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none">
		<o:p></o:p></p>
	<p class="MsoNormal">
		}</p>
	<p class="MsoNormal">
		<strong>Model : </strong>&nbsp;Data sınıfları burada tutulur. &Ouml;rneğin entity framework sınıfları yada POCO sınıfları burada tutulmalıdır.</p>
	<p style="text-align:justify">
		<strong>View : </strong><strong><span style="font-weight:normal;mso-bidi-font-weight:bold">User kontroller burada toplanır. Ara y&uuml;z geliştirici View katmanında &ccedil;alışır.</span><o:p></o:p></strong></p>
	<p style="text-align:justify">
		<strong>ViewModel : </strong>View, Model ile ViewModel sayesinde konuşur. Model&rsquo;ı referans alır. View ise View Model&rsquo;a bağlıdır.</p>
	<p style="text-align:justify">
		Yazımızın sonunda şunlarıda eklemliyim:</p>
	<ul type="disc">
		<li class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;

     mso-list:l0 level1 lfo1;tab-stops:list 36.0pt">
			İleri Commanding, Binding,&nbsp;Behaviour&nbsp;&ouml;zellikler kullanılır. Bu sayede kod daha esnek geliştirilir.</li>
		<li class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;

     mso-list:l0 level1 lfo1;tab-stops:list 36.0pt">
			Ara y&uuml;z&uuml; temsil eden View&rsquo;ın kod kısmı genelde boştur. B&ouml;ylelikle tasarım iş mantığı birbirinden tamamen ayrılır. Bu da test işlemlerini kolaylaştır.</li>
	</ul>
	<p class="MsoNormal">
		<o:p>&nbsp;</o:p></p>
</div>
]]></description></item><item><title><![CDATA[Mvc de seçili satırı boyama ve ajax ile post işlemi]]></title><link><![CDATA[http://www.developermania.net/developermania/article.asp?katID=908]]></link><description><![CDATA[<p>
	&nbsp;</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 10px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">
	<span class="Apple-style-span" style="color: rgb(0, 0, 0); font-family: 'Lucida Sans Unicode'; font-size: 11px; line-height: 15px; ">Merhaba arkadaşlar, uzun bir aradan sonra tekrar sizlerle birlikteyim. Bug&uuml;n ki makalemizde MVC 3 ile sayfada tablo şeklinde g&ouml;sterdiğimiz verilerimizin, belirli kriterlere g&ouml;re satırlarını javascript ile nasıl renklendireceğimizi anlatmaya &ccedil;alışacağım. Bu &ouml;rneğimizde veritabanından &ccedil;ektiğimiz verilerimizi durum kriterine g&ouml;re aktif olanları farklı, pasif olanları farklı renklerde kullanıcılarımıza sunacağız. Aynı zamanda select nesnesi ile kullanıcılarımızın durumunu aktif veya pasif edebilecek ve eş zamanlı olarak tablomuza ait satırımızın rengini değiştireceğiz. Aslına bakarsanız t&uuml;m olay tamamen javascript tarafında bitiyor. Bilmemiz gereken tek şey bizim hangi satırı se&ccedil;tiğimiz ve hangi alanda değişiklik yaptığımız. İsterseniz daha fazla konuşmadan uygulamamıza ge&ccedil;elim.Bu uygulamamızda ben &ouml;rnek bir veritabanı hazırladım.Veritabanımızda aşağıdaki gibi users isimli bir tablomuz var ve i&ccedil;inde d&ouml;rt adet kullanıcımız var.&nbsp;<br />
	<br />
	<img height="106" src="http://www.recepselli.com/images/image01.png" width="569" /><br />
	<br />
	Şimdi users isimli tablomuzdaki kullanıcılarımızı, homecontroller classımız i&ccedil;indeki d&ouml;n&uuml;ş tipi actionresult olan metodumuz i&ccedil;inde &ccedil;ağırıyoruz. Ardından bu metodumuza hemen bir view ekliyoruz (bilmeyenler i&ccedil;in yazdığımız metot &uuml;zerine gelip &ldquo;add view&rdquo; dediğimizde hazırlamış olduğumuz metodumuza bir view ekleyebiliriz).&nbsp;<br />
	<br />
	<img height="517" src="http://www.recepselli.com/images/image03.png" width="551" /><br />
	<br />
	View eklerken model olarak users tablosunu se&ccedil;iyoruz ve template olarak da list&rsquo;i se&ccedil;iyoruz ve add butonuna basarak view&rsquo;imizi projemize dahil ediyoruz. Şimdi list yapısını aslında MVC bize hazır olarak sunuyor fakat bizler projemizde kendi html kodlarımızla da sayfaya yeni bir g&ouml;r&uuml;n&uuml;m kazandırabiliriz. Bunun i&ccedil;in ben yeni oluşturduğum sayfa i&ccedil;erisinde yer alan b&uuml;t&uuml;n html kodları siliyorum. Yeni oluşturduğum html yapı ş&ouml;yle;<br />
	<br />
	<img height="388" src="http://www.recepselli.com/images/image02.png" width="745" /><br />
	<img height="290" src="http://www.recepselli.com/images/image04.png" style="width: 745px; " /><br />
	<br />
	Buradaki UpdateKullaniciDurum isimli fonksiyonumuz,select elemanımız değiştirildiğinde &ccedil;alışacak olan javascript kodumuzdur.<br />
	<br />
	<img height="414" src="http://www.recepselli.com/images/image06.png" width="685" />&nbsp;<br />
	<br />
	Ajax post y&ouml;ntemi ile se&ccedil;ilen kullanıcının yeni durumunu, UpdateKullaniciDurum isimli metodumuz ile g&uuml;ncelliyoruz. Kullanıcının durumu değiştirildiğinde, view i&ccedil;ierisinde yer alan tablonun satır renklerinin de değişmesi i&ccedil;in metodumuzun geriye &quot;Json&quot; d&ouml;nd&uuml;rmesi gerekmektedir.<br />
	Aşağıdaki kod bloğundakiler, ajax ile post edildikten sonra homecontroller classında &ccedil;alışacak metoddur (Update işlemini yazarak konudan uzaklaşmak istemedim. Siz istediğiniz şekilde yazabilirsiniz).</span></p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 10px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">
	<span class="Apple-style-span" style="color: rgb(0, 0, 0); font-family: 'Lucida Sans Unicode'; font-size: 11px; line-height: 15px; "><img height="87" src="http://www.recepselli.com/images/image05.png" width="552" /><br />
	<br />
	<img height="183" src="http://www.recepselli.com/images/image00.png" width="303" />&nbsp;<img height="185" src="http://www.recepselli.com/images/image07.png" width="316" /></span></p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 10px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">
	<span class="Apple-style-span" style="color: rgb(0, 0, 0); font-family: 'Lucida Sans Unicode'; font-size: 11px; line-height: 15px; ">Bir sonraki makalemizde g&ouml;r&uuml;ş&uuml;nceye dek hoş&ccedil;a kalın.<br />
	<br />
	Recep SELLİ</span></p>
]]></description></item><item><title><![CDATA[SQL Server Code Named Denali]]></title><link><![CDATA[http://www.developermania.net/developermania/article.asp?katID=907]]></link><description><![CDATA[<p>
	<img alt="" src="http://www.volkanatasever.com/image.axd?picture=2011%2f7%2fdenali.jpg" /></p>
<p>
	&nbsp;</p>
<p>
	<span style="font-size: medium;">SQL Server&#39;ın yeni versiyonu CTP 3 olarak download&#39;a sunuldu. Olduk&ccedil;a yenilikler getiren bu yeni versiyonla birlikte SQL Server&#39;ın daha &ccedil;ok g&uuml;&ccedil; kazanacağını d&uuml;ş&uuml;n&uuml;yorum. İlk sı&ccedil;rayışını SQL Server 2000&#39;den 2005&#39;e ge&ccedil;erek yapan SQL Sever ikinci sı&ccedil;rayışını 2008&#39;de yapmıştı. Bu seferde olduk&ccedil;a b&uuml;y&uuml;k beklentiler i&ccedil;indeyim. SQL Server Denali CTP 3 download i&ccedil;in http://www.microsoft.com/sqlserver/en/us/future-editions.aspx adresini kullanabilirsiniz. Temmuz 2011&#39;de bu s&uuml;r&uuml;mle ilgili white paper&#39;da yayınlanmış durumda. Windows Azure ve SQL Azure desteğide eklenmiş bu yeni versiyonun geliştiriciler ve db adminler arasında olduk&ccedil;a heyecan yarattığını d&uuml;ş&uuml;nmekteyim.</span></p>
<p>
	<img alt="" src="http://www.volkanatasever.com/image.axd?picture=2011%2f7%2fsqldenali.jpg" /></p>
<p>
	<span style="font-size: medium;">Daha ayrıntılı a&ccedil;ıklama i&ccedil;in aşağıdaki adresleri ziyaret edebilirsiniz;</span></p>
<p>
<!--[if gte mso 9]><xml> <w:WordDocument> <w:View>Normal</w:View> <w:Zoom>0</w:Zoom> <w:TrackMoves /> <w:TrackFormatting /> <w:HyphenationZone>21</w:HyphenationZone> <w:PunctuationKerning /> <w:ValidateAgainstSchemas /> <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid> <w:IgnoreMixedContent>false</w:IgnoreMixedContent> <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText> <w:DoNotPromoteQF /> <w:LidThemeOther>EN-US</w:LidThemeOther> <w:LidThemeAsian>X-NONE</w:LidThemeAsian> <w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript> <w:Compatibility> <w:BreakWrappedTables /> <w:SnapToGridInCell /> <w:WrapTextWithPunct /> <w:UseAsianBreakRules /> <w:DontGrowAutofit /> <w:SplitPgBreakAndParaMark /> <w:EnableOpenTypeKerning /> <w:DontFlipMirrorIndents /> <w:OverrideTableStyleHps /> <w:UseFELayout /> </w:Compatibility> <m:mathPr> <m:mathFont m:val="Cambria Math" /> <m:brkBin m:val="before" /> <m:brkBinSub m:val="&#45;-" /> <m:smallFrac m:val="off" /> <m:dispDef /> <m:lMargin m:val="0" /> <m:rMargin m:val="0" /> <m:defJc m:val="centerGroup" /> <m:wrapIndent m:val="1440" /> <m:intLim m:val="subSup" /> <m:naryLim m:val="undOvr" /> </m:mathPr></w:WordDocument> </xml><![endif]--><!--[if gte mso 9]><xml> <w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"   DefSemiHidden="true" DefQFormat="false" DefPriority="99"   LatentStyleCount="267"> <w:LsdException Locked="false" Priority="0" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Normal" /> <w:LsdException Locked="false" Priority="9" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="heading 1" /> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2" /> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3" /> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4" /> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5" /> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6" /> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7" /> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8" /> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9" /> <w:LsdException Locked="false" Priority="39" Name="toc 1" /> <w:LsdException Locked="false" Priority="39" Name="toc 2" /> <w:LsdException Locked="false" Priority="39" Name="toc 3" /> <w:LsdException Locked="false" Priority="39" Name="toc 4" /> <w:LsdException Locked="false" Priority="39" Name="toc 5" /> <w:LsdException Locked="false" Priority="39" Name="toc 6" /> <w:LsdException Locked="false" Priority="39" Name="toc 7" /> <w:LsdException Locked="false" Priority="39" Name="toc 8" /> <w:LsdException Locked="false" Priority="39" Name="toc 9" /> <w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption" /> <w:LsdException Locked="false" Priority="10" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Title" /> <w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font" /> <w:LsdException Locked="false" Priority="11" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Subtitle" /> <w:LsdException Locked="false" Priority="22" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Strong" /> <w:LsdException Locked="false" Priority="20" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Emphasis" /> <w:LsdException Locked="false" Priority="59" SemiHidden="false"    UnhideWhenUsed="false" Name="Table Grid" /> <w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text" /> <w:LsdException Locked="false" Priority="1" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="No Spacing" /> <w:LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading" /> <w:LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List" /> <w:LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid" /> <w:LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1" /> <w:LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2" /> <w:LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1" /> <w:LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2" /> <w:LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1" /> <w:LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2" /> <w:LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3" /> <w:LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List" /> <w:LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading" /> <w:LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List" /> <w:LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid" /> <w:LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading Accent 1" /> <w:LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List Accent 1" /> <w:LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid Accent 1" /> <w:LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1" /> <w:LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1" /> <w:LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1 Accent 1" /> <w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision" /> <w:LsdException Locked="false" Priority="34" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="List Paragraph" /> <w:LsdException Locked="false" Priority="29" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Quote" /> <w:LsdException Locked="false" Priority="30" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Intense Quote" /> <w:LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2 Accent 1" /> <w:LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1" /> <w:LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1" /> <w:LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1" /> <w:LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List Accent 1" /> <w:LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading Accent 1" /> <w:LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List Accent 1" /> <w:LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid Accent 1" /> <w:LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading Accent 2" /> <w:LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List Accent 2" /> <w:LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid Accent 2" /> <w:LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2" /> <w:LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2" /> <w:LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1 Accent 2" /> <w:LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2 Accent 2" /> <w:LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2" /> <w:LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2" /> <w:LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2" /> <w:LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List Accent 2" /> <w:LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading Accent 2" /> <w:LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List Accent 2" /> <w:LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid Accent 2" /> <w:LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading Accent 3" /> <w:LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List Accent 3" /> <w:LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid Accent 3" /> <w:LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3" /> <w:LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3" /> <w:LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1 Accent 3" /> <w:LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2 Accent 3" /> <w:LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3" /> <w:LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3" /> <w:LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3" /> <w:LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List Accent 3" /> <w:LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading Accent 3" /> <w:LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List Accent 3" /> <w:LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid Accent 3" /> <w:LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading Accent 4" /> <w:LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List Accent 4" /> <w:LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid Accent 4" /> <w:LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4" /> <w:LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4" /> <w:LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1 Accent 4" /> <w:LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2 Accent 4" /> <w:LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4" /> <w:LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4" /> <w:LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4" /> <w:LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List Accent 4" /> <w:LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading Accent 4" /> <w:LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List Accent 4" /> <w:LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid Accent 4" /> <w:LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading Accent 5" /> <w:LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List Accent 5" /> <w:LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid Accent 5" /> <w:LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5" /> <w:LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5" /> <w:LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1 Accent 5" /> <w:LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2 Accent 5" /> <w:LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5" /> <w:LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5" /> <w:LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5" /> <w:LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List Accent 5" /> <w:LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading Accent 5" /> <w:LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List Accent 5" /> <w:LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid Accent 5" /> <w:LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading Accent 6" /> <w:LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List Accent 6" /> <w:LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid Accent 6" /> <w:LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6" /> <w:LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6" /> <w:LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1 Accent 6" /> <w:LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2 Accent 6" /> <w:LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6" /> <w:LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6" /> <w:LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6" /> <w:LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List Accent 6" /> <w:LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading Accent 6" /> <w:LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List Accent 6" /> <w:LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid Accent 6" /> <w:LsdException Locked="false" Priority="19" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis" /> <w:LsdException Locked="false" Priority="21" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis" /> <w:LsdException Locked="false" Priority="31" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference" /> <w:LsdException Locked="false" Priority="32" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Intense Reference" /> <w:LsdException Locked="false" Priority="33" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Book Title" /> <w:LsdException Locked="false" Priority="37" Name="Bibliography" /> <w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading" /> </w:LatentStyles> </xml><![endif]--><!--[if gte mso 10]> <mce:style><!   /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Normal Tablo"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-priority:99; 	mso-style-parent:""; 	mso-padding-alt:0cm 5.4pt 0cm 5.4pt; 	mso-para-margin-top:0cm; 	mso-para-margin-right:0cm; 	mso-para-margin-bottom:10.0pt; 	mso-para-margin-left:0cm; 	line-height:115%; 	mso-pagination:widow-orphan; 	font-size:11.0pt; 	font-family:"Calibri","sans-serif"; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin; 	mso-bidi-font-family:"Times New Roman"; 	mso-bidi-theme-font:minor-bidi; 	mso-ansi-language:EN-US; 	mso-fareast-language:EN-US;} --><!--[endif] --></p>
<p class="MsoNormal">
	<span style="font-size: medium;"><span lang="EN-US"><a href="http://www.microsoft.com/sqlserver/"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;">http://www.microsoft.com/sqlserver/</span></a></span><span lang="EN-US" style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;">: SQL Server Web site</span></span></p>
<p class="MsoNormal">
	<span style="font-size: medium;"><span lang="EN-US"><a href="http://www.microsoft.com/sqlserver/en/us/product-info/future-editions.aspx"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;">http://www.microsoft.com/sqlserver/en/us/product-info/future-editions.aspx</span></a></span><span lang="EN-US" style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;">: SQL Server Code Name &ldquo;Denali&rdquo; </span></span></p>
<p class="MsoNormal">
	<span style="font-size: medium;"><span lang="EN-US"><a href="http://technet.microsoft.com/en-us/sqlserver/"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;">http://technet.microsoft.com/en-us/sqlserver/</span></a></span><span lang="EN-US" style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;">: SQL Server TechCenter </span></span></p>
<p class="MsoNormal">
	<span style="font-size: medium;"><span lang="EN-US"><a href="http://msdn.microsoft.com/en-us/sqlserver/"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;">http://msdn.microsoft.com/en-us/sqlserver/</span></a></span><span lang="EN-US" style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;">: SQL Server DevCenter&nbsp; </span></span></p>
]]></description></item><item><title><![CDATA[Asp.Net ile Resime Yazı Yazma]]></title><link><![CDATA[http://www.developermania.net/developermania/article.asp?katID=904]]></link><description><![CDATA[<p>
	<span class="Apple-style-span" style="color: rgb(51, 51, 51); font-family: Verdana, Arial, Tahoma, Calibri, Geneva, sans-serif; font-size: 13px; "><br />
	Bu g&uuml;n haber sitelerinde manşet haberlerinin &uuml;zerinde g&ouml;rd&uuml;ğ&uuml;m&uuml;z. O flash haber yazılarını asp.net ile nasıl yazabileceğimizi &ouml;ğreneceğiz.<br />
	<br />
	&Ouml;ncelikle asp.net sayfamıza FileUpload(&Uuml;zerine yazı yazmak istediğimiz resmi upload edeceğimiz) , Textbox (Resmin &uuml;zerine ekleyeceğimiz yazıyı gireceğimiz) ve bir Button nesnesi ekliyoruz ;<br />
	<br />
	<img alt="" border="0" src="http://mertkanelpeze.files.wordpress.com/2010/12/res1.jpg?w=507&amp;h=351" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; max-width: 800px; " /><br />
	<br />
	Daha sonra name space&rsquo;lerimize using System.Drawing; ekliyoruz ;<br />
	<img alt="" border="0" src="http://mertkanelpeze.files.wordpress.com/2010/12/res2.jpg?w=276&amp;h=183" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; max-width: 800px; " /><br />
	<br />
	Butonumuzun Click Event&rsquo;ine aşağıdaki kodları yazıyoruz. Burada resmin genişlik ve uzunluğunu ve yazılan yazıyı ekleyeceğiz ;<br />
	<img alt="" border="0" src="http://mertkanelpeze.files.wordpress.com/2010/12/res3.jpg?w=614&amp;h=85" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; max-width: 800px; " /><br />
	<br />
	Bitmap adında bir fonksiyon yazıyoruz. Bu fonksiyonda yazacağımız yazının &ouml;zelliklerini resmin neresine ne şekilde olacağınız belirteceğiz ;<br />
	<img alt="" border="0" src="http://mertkanelpeze.files.wordpress.com/2010/12/res4.jpg?w=614&amp;h=191" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; max-width: 800px; " /><br />
	<br />
	Sayfamızı F5 diyerek &ccedil;alıştırıyoruz ve resmimizi se&ccedil;iyoruz hemen altındaki yazı kutusuna string ifademizi yazıyoruz ve butona tıklıyoruz ;<br />
	<img alt="" border="0" src="http://mertkanelpeze.files.wordpress.com/2010/12/res5.jpg?w=614&amp;h=159" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; max-width: 800px; " /><br />
	<br />
	Resim Page_Load&rsquo;ta belirlediğimiz klasorde artık verdiğimiz yazıyla oluşturulmuş olacak işte sonu&ccedil; ;<br />
	<br />
	<img alt="" border="0" src="http://mertkanelpeze.files.wordpress.com/2010/12/orjinalresim.jpeg?w=300&amp;h=176" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; max-width: 800px; " /><br />
	<br />
	<img alt="" border="0" src="http://mertkanelpeze.files.wordpress.com/2010/12/oynanmisresim.png?w=300&amp;h=176" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; max-width: 800px; " /></span></p>
]]></description></item><item><title><![CDATA[Windows Phone 7 Twitter Status Öğrenme]]></title><link><![CDATA[http://www.developermania.net/developermania/article.asp?katID=903]]></link><description><![CDATA[<p>
	<span class="Apple-style-span" style="color: rgb(51, 51, 51); font-family: Verdana, Arial, Tahoma, Calibri, Geneva, sans-serif; font-size: 13px; ">Merhaba,&nbsp;Bu yazımızda ilk WP7 uygulamamızı yapacağız. İlk uygulamada &ldquo;Hello Word&rdquo; yazmak adetten olsada b&ouml;yle ıvır kıvırlara ayıracak vaktimiz yok.<br />
	<br />
	Temel olarak kodlarımızda bir web kullanıcı olusturup xml olarak twitter sayfasına statusu post edeceğiz d&ouml;n&uuml;ş yapan xml de istediğimiz veriler bulunacak ve bu XML&rsquo;i XElement kullanarak parse edeceğiz.<br />
	<br />
	Alttaki resimde g&ouml;receğiniz gibi bir Windows Phone uygulaması başlatıyoruz ;<br />
	<br />
	<img alt="" border="0" src="http://mertkanelpeze.files.wordpress.com/2010/12/wp71.gif?w=614&amp;h=391" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; max-width: 800px; " /><br />
	<br />
	Gelen sayfanın sol tarafında&nbsp;<linkz id="linkz0"><nobr><span style="font-weight: bold; line-height: 1.7; color: rgb(255, 0, 0); border-bottom-width: 3px; border-bottom-style: double; border-bottom-color: rgb(255, 0, 0); cursor: pointer; ">tasarım</span></nobr></linkz>&nbsp;kısmı sağ tarafında .XAML kodumuz bulunmakta.<br />
	<br />
	<img alt="" border="0" src="http://mertkanelpeze.files.wordpress.com/2010/12/wp72.gif?w=614&amp;h=531" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; max-width: 800px; " /><br />
	<br />
	Sayfamıza TextBox &ndash; Button ve ListBox Ekliyoruz.<br />
	<br />
	<img alt="" border="0" src="http://mertkanelpeze.files.wordpress.com/2010/12/wp73.gif?w=291&amp;h=542" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; max-width: 800px; " /><br />
	<br />
	<br />
	Projemizin sol tarafında bulunan Solution Explorer tarafına gidip Preferences Sekmesini buluyoruz ve sağ tıklayarak Add New Preference diyoruz. A&ccedil;ılan listede System.Xml.Linq Se&ccedil;iyoruz. ( Xml&rsquo;i Parse ettikten sonra işimize yarayan verileri alırken Linq kullanacağız ) ;<br />
	<br />
	<img alt="" border="0" src="http://mertkanelpeze.files.wordpress.com/2010/12/wp74.gif?w=507&amp;h=623" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; max-width: 800px; " /><br />
	<br />
	Artık .cs kısmıza ge&ccedil;ebiliriz. Gerekli kodlarımızı burada yazacağız ilk olarak başlamadan preferences olarak eklediğimiz Linq bunu name space&rsquo;de yazmayı unutmuyor hemen ekliyoruz ;<br />
	<br />
	<img alt="" border="0" src="http://mertkanelpeze.files.wordpress.com/2010/12/wp75.gif?w=614&amp;h=532" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; max-width: 800px; " /><br />
	<br />
	Gene aynı gere Twitter Nesnesi oluşturacağız bu nesnemiz bize ilkili kişinin adını , attığı Tweet&rsquo;i ve Profil Resmini verecek dolayısıyla Class&rsquo;ımız &uuml;&ccedil; item&rsquo;dan oluşacak ;<br />
	<img alt="" border="0" src="http://mertkanelpeze.files.wordpress.com/2010/12/wp76.gif?w=411&amp;h=111" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; max-width: 800px; " /><br />
	<br />
	Yazımızın en başında dediğim gibi twitter.com a g&ouml;nderip aldıgımız bir XML var bu xml&rsquo;i parse edeceğiz. Dolayısıyla &ouml;nce bi webClient oluşturup XML&rsquo;i &ccedil;ekmemiz gerekmekte ;<br />
	<img alt="" border="0" src="http://mertkanelpeze.files.wordpress.com/2010/12/wp77.gif?w=614&amp;h=66" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; max-width: 800px; " /><br />
	<br />
	Son olarak sayfamızın .Xaml koduna gidiyoruz. &Ccedil;&uuml;nk&uuml; kodlardan da anlaşılacağı &uuml;zere listbox&rsquo;ı bind ediyoruz. Dolayısıyla Xaml i&ccedil;erisinde alacağı Binding Nesnelerinide yazmamız gerekmekte listboxi aşağıdaki gibi d&uuml;zenliyoruz ;<br />
	<br />
	<img alt="" border="0" src="http://mertkanelpeze.files.wordpress.com/2010/12/wp78.gif?w=614&amp;h=131" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; max-width: 800px; " /><br />
	<br />
	İşlemimiz burada son buluyor. Projemizi &ccedil;alıştırdığımızda sorunsuz bir şekilde gelecek bakalım Bill Gates ve Ben Twitter&rsquo;da neler yapmışız.<br />
	<br />
	<img alt="" border="0" src="http://mertkanelpeze.files.wordpress.com/2010/12/wp7billgates.gif?w=289&amp;h=554" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; max-width: 800px; " /><br />
	<br />
	<img alt="" border="0" src="http://mertkanelpeze.files.wordpress.com/2010/12/wp7mertkanelpeze.gif?w=293&amp;h=552" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; max-width: 800px; " /><br />
	<br />
	Not: Visual Studio&rsquo;da windows phone emulat&ouml;r&uuml; ilk defa a&ccedil;ılıyorsa biraz beklememiz gerekebilir sabırlı olun gerekirse kapatıp tekrar a&ccedil;ın. Em&uuml;lat&ouml;r a&ccedil;ıldıktan sonra kapatmazsanız sizin yararınıza olur zira benim bilgisayarım ortalamalara yakın olduğu halde dakikalarca bekliyorum.<br />
	<br />
	Gene kod yazarken karşıma gelen bir problemde kodlarımın dogru yazılmasına ragmen bazen &ccedil;alışmamasıydı. Debug edin sabır edin gerekirse breakpoint koyup tetiklenip tetiklenmediğine bakabilirsiz.<br />
	<br />
	</span></p>
]]></description></item><item><title><![CDATA[Asp.Net Class ile Database Bağlantısı]]></title><link><![CDATA[http://www.developermania.net/developermania/article.asp?katID=902]]></link><description><![CDATA[<p>
	<span class="Apple-style-span" style="color: rgb(51, 51, 51); font-family: Verdana, Arial, Tahoma, Calibri, Geneva, sans-serif; font-size: 13px; ">Merhaba bug&uuml;n asp.net ile class kullanarak database bağlantısı kurmayı g&ouml;stereceğim. Kaynak kodları sizinle paylaşacağım her zamanki gibi . O zaman hemen başlayalım (:<br />
	<br />
	Visual Studio &lsquo; da yeni bir Asp.Net projesi a&ccedil;alım ve işlemlerimize başlayalım.<br />
	<br />
	MyTestDb adında bir sql veri tabanımız var ve i&ccedil;erisinde Tbl_Sozler adında bir tablomuz mevcut Tablomuzun i&ccedil;erisinde ise rastgele buldugum bir ka&ccedil; &ouml;zl&uuml; s&ouml;z bulunmakta ;<br />
	<br />
	<img alt="" border="0" src="http://mertkanelpeze.files.wordpress.com/2011/01/sql.png?w=300&amp;h=235" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; max-width: 800px; " /><br />
	<br />
	Şimdi &uuml;stte g&ouml;rd&uuml;ğ&uuml;m&uuml;z veritabanımıza baglanmak i&ccedil;in bir class oluşturalım Solution Explorer&rsquo;den siteize sağ tıklayıp Add New Item sekmesini se&ccedil;iyoruz<br />
	<br />
	<img alt="" border="0" src="http://mertkanelpeze.files.wordpress.com/2011/01/class1.jpg?w=300&amp;h=177" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; max-width: 800px; " /><br />
	ve a&ccedil;ılan pencerede Class&rsquo;ı se&ccedil;ip OK Tuşuna basıyoruz ;<br />
	<br />
	<img alt="" border="0" src="http://mertkanelpeze.files.wordpress.com/2011/01/class2.jpg?w=300&amp;h=177" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; max-width: 800px; " /><br />
	<br />
	Class&rsquo;ın adını verip kaydettikten sonra &ouml;n&uuml;m&uuml;ze bir se&ccedil;enek cıkacak buna evet dersek class&rsquo;ımız App_Code adlı klasorde belirecektir Evet dedim ve class ismini VeriTabaniBaglantiClassi.cs olarak verdim.<br />
	<br />
	Oluşan Class&rsquo;ımızın hemen namespace kısmına sql işlemlerimiz i&ccedil;in using System.Data.SqlClient; satırını ilave ediyoruz ve i&ccedil;i boş class&rsquo;ımız aşağıdaki gibi oluyor ;<br />
	<img alt="" border="0" src="http://mertkanelpeze.files.wordpress.com/2011/01/myclass1.png?w=297&amp;h=300" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; max-width: 800px; " /><br />
	<br />
	Class&rsquo;ımız oluştu sql namespace&rsquo;i eklendi şimdi sıra geldi class&rsquo;ın işlevine yani class ile veri tabanına baglanırken yapmamız gereken olaya. Temel anlamda normal bir connection tanımlarken ki olaylardan farklı birşey yapmayacağız. Sadece baglantı c&uuml;mleciğimizi bir class i&ccedil;erisinde barındıracağız. Bunun en temel sebebi 195 ayrı sayfada 195 tane connection tanımlanması yapılmasından bizi kurtarmasıdır. Sadece bu sebebten bile class ile database bağlantısı kullanmak bir artıdır.<br />
	<br />
	Şimdi Class&rsquo;ımızın i&ccedil;erisine sqlConnection bilgilerimizi yazacağız bunu yazarken class i&ccedil;erisine public formatında bir fonksiyon yazıyoruz fonksiyonun i&ccedil;erisinede conneciton tanımlamamızı yapıyoruz. başta dediğimiz gibi 195 baglantı gerekirse 195 farklı yerde kullanacaksak public t&uuml;r&uuml;nde olmalı ki diğer form ve sayfalar da oluşturduğumuz bu class&rsquo;ı g&ouml;rs&uuml;n ve baglantı hizmetinden yararlansın. İ&ccedil;erik aşağıdaki gibi olacaktır ;<br />
	<br />
	<img alt="" border="0" src="http://mertkanelpeze.files.wordpress.com/2011/01/myclass2.png?w=300&amp;h=155" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; max-width: 800px; " /><br />
	<br />
	Temel anlamda bu class i&ccedil;erisindeki baglan(); fonksiyonu &ccedil;ağırıldığı zaman olacak olayları listeleyelim derseniz ;<br />
	<br />
	1- Yeni bir bağlantı oluştur<br />
	2- Bu bağlantığı a&ccedil;<br />
	3- Ve bu fonksiyonun &ccedil;ağrıldığı yere (işte o 195 yer veya yerler) a&ccedil;ık olarak geri d&ouml;nd&uuml;r.<br />
	<br />
	Şimdi Default.Aspx sayfamızın code behind&rsquo;ına geliyoruz. Oluşturduğumuz bağlantıyı a&ccedil;alım ;<br />
	<br />
	<img alt="" border="0" src="http://mertkanelpeze.files.wordpress.com/2011/01/mypage1.png?w=300&amp;h=173" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; max-width: 800px; " /><br />
	<br />
	Default.Aspx teki mantığı satır satır a&ccedil;ıklarsak ;<br />
	<br />
	-VeriTabaniBaglantiClassi&rsquo;ından bir tane oluşturduk ve adına bağlantımBurda dedim NEDEN ? &ccedil;&uuml;nk&uuml; class dosyamın i&ccedil;erisinde esas connection bilgilerim var (k.adım,şifrem,baglantı server adresim)<br />
	<br />
	-EsasBağlantı adında bir sql connection oluşturdum ve classtaki baglantı fonksiyonunu &ccedil;ağırdım NEDEN ? &ccedil;&uuml;nk&uuml; normal şartlarda bir sqlconnection tanımlarken SqlConnection baglanti = new SqlConnection(bağlantı bilgileri şifre falan); yapısını kullanıyordum yani Esas bağlantı da bu işlemi yapıyor.<br />
	<br />
	-Baglantım Class&rsquo;tan a&ccedil;ık bir şekilde d&ouml;nd&uuml;ğ&uuml;nden bir daha .Open() metotunu &ccedil;ağırmıyorum direk ekrana response.Write ile deneme babında bir&nbsp;<linkz id="linkz2">mesaj</linkz>&nbsp;yazdırıyorum ki bağlanmasa bu deneme&nbsp;<linkz id="linkz1">mesajını</linkz>&nbsp;yazmadan hata verecektir bizde&nbsp;<linkz id="linkz0"><nobr><span style="font-weight: bold; line-height: 1.7; color: rgb(255, 0, 0); border-bottom-width: 3px; border-bottom-style: double; border-bottom-color: rgb(255, 0, 0); cursor: pointer; ">mesajı</span></nobr></linkz>&nbsp;g&ouml;remeyeceğiz.<br />
	<br />
	-Ve son olarak bağlantımızı Kapatıyoruz.<br />
	<br />
	İşte Sonu&ccedil; ;<br />
	<br />
	<img alt="" border="0" src="http://mertkanelpeze.files.wordpress.com/2011/01/finish.png?w=300&amp;h=109" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; max-width: 800px; " /><br />
	<br />
	Not : e databasede Tbl_Sozler diye bi tablo vardı o nolacak diyenler olabilir. Diğer makalelerde bu database&rsquo;i kullanarak &ouml;rnek yapacağım bi bağlanalımda</span></p>
]]></description></item><item><title><![CDATA[C# ile Print Screen Almak]]></title><link><![CDATA[http://www.developermania.net/developermania/article.asp?katID=901]]></link><description><![CDATA[<p>
	<span class="Apple-style-span" style="color: rgb(51, 51, 51); font-family: Verdana, Arial, Tahoma, Calibri, Geneva, sans-serif; font-size: 13px; ">Bug&uuml;n basit bir uygulama yazmam gerekti. Senaryo şuydu ; kullanıcının bazı yerlerden print screen alması gerekiyor ve normal şartlarda Alt+PrintScreen tuşuna basıp paint dosyasına Ctrl+V dediğimizde hallolan bu işlemi daha az uğraş gerektirerek nasıl yapabiliriz onu d&uuml;ş&uuml;nd&uuml;k. C#&rsquo;ta basit bir application yazmaya karar verdik.<br />
	<br />
	<br />
	Normalde bir uygulama yapmadan bu işlemi 5 adımda yapıyoruz ;<br />
	<br />
	1-Sayfaya alt+printscreen<br />
	2-Paint dosyası a&ccedil;<br />
	3-Painte yapıştır.<br />
	4- Paintten kaydet<br />
	5- İstediğin klas&ouml;re kopyala<br />
	<br />
	Yazdığımız minik uygulama ile;<br />
	<br />
	1-Resmini &ccedil;ekmek istediğin alanı se&ccedil;<br />
	2-Kaydete bas.<br />
	<br />
	Şimdi bazılarınız diyebilir ki paintle yapmak daha kolay, benim buna cevabım ise eğer 259 tane resim &ccedil;ekmek zorunda kalsaydınız.<br />
	259*5=1295 işlem edecekti. yazdığımız uygulama ile bu sayı 518&prime;e d&uuml;şecek.<br />
	<br />
	Bu kadar teorik bilgi yeter sanırım&nbsp;<br />
	<br />
	&Ouml;ncelikle Visual Studio&rsquo;muzdan yeni bir Windows Application oluşturuyoruz.<br />
	<br />
	PrintScreen işlemizi şu şekilde yapcağız ; formumuzu ekran g&ouml;r&uuml;nt&uuml;s&uuml; almak istediğimiz yerin &uuml;zerine getireceğiz. ve &uuml;zerine iki kez tıkladığımızda otomatik olarak g&ouml;r&uuml;nt&uuml;m&uuml;z&uuml; istediğimiz formatta alacağız(jpg,bmp,png). Mesala formu bir resin &uuml;zerine getirdiğimizde formun arkasında kalan resmi g&ouml;remeyeceğiz bu sorunuda Form&rsquo;un Opacity değeriyle oynarak &ccedil;&ouml;zeceğiz.<br />
	GetCapture adında void t&uuml;r&uuml;nde bir metot yazacağız bu metot formun bulunduğu yerin lokasyon bilgilerini tutacak. ve bu t&uuml;rde g&ouml;r&uuml;nmez bir nesne oluşturacağız bu nesnenin lokasyon bilgisini formunki ile dolduracağız. yani this.Bounds;<br />
	<br />
	Daha sonra bitmap sınıfını kullanacağız ve daha &ouml;nce formun bulundugu noktayı doldurdugumuz nesnemiz olan Rectangle&rsquo;ın y&uuml;kseklik genişlik bilgilerini buradan tamamlayacağız. Biraz daha ilerdiğimizde artık kendi grafiğimizi kaydetmemiz adına Graphics t&uuml;r&uuml;nde bir nesne daha oluşturup,CopyFromScreen diyerek formun kapsadığı alanlarını resim olarak elimizde barındıracağız.<br />
	<br />
	Yani GetCapture fonksiyonumuzun kodu aşağıdaki gibi olacaktır ;<br />
	<img alt="" border="0" src="http://mertkanelpeze.files.wordpress.com/2011/02/2.jpg?w=614&amp;h=232" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; max-width: 800px; " /><br />
	&Uuml;stte Bitmap.Save Derken C://&rsquo;nin altına kaydettim bazı bilgisayarlarda bu kayıt işlemine izin vermez eğer bir hata alırsanız bilesiniz ki bundandır.<br />
	<br />
	@&rdquo;C:\&rdquo; + yazı dizisini silerseniz projenizin .exe&rsquo;sinin &ccedil;alıştığı yere sorunsuz bir şekilde printScreen alacaktır.<br />
	<br />
	Ayrıda her alınan g&ouml;r&uuml;nt&uuml; &uuml;st &uuml;ste kaydolmasın diye string t&uuml;r&uuml;nde dd diye bir değişken tanımladım ve tarihi saniyeyle birlikte verdim dolayısıyla oluşan her dosya adı farklı olacak .Replace(&lsquo;:&rsquo;,&rsquo;.&rsquo;); diyerek karakter değişimi yaptım ki resim dosyası d&uuml;zg&uuml;n kaydolsun(windows herhangi bir dosya kaydolurken ismi i&ccedil;erisibnde &lsquo;:&rsquo; &rsquo;/&rsquo; gibi karakterlerin olmasına izin vermiyor ).<br />
	<br />
	Şimdi formun DoubleClick Event&rsquo;inde GetCapture metotumuzu &ccedil;ağıralım;<br />
	<img alt="" border="0" src="http://mertkanelpeze.files.wordpress.com/2011/02/3.jpg?w=608&amp;h=74" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; max-width: 800px; " /><br />
	Şimdi ise projeyi &ccedil;alıştırıyorum ;<br />
	<img alt="" border="0" src="http://mertkanelpeze.files.wordpress.com/2011/02/4.jpg?w=614&amp;h=411" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; max-width: 800px; " /><br />
	Bu şekilde karşıma geldi. Yalnız yazımızın başında bahsettiğim sorun var bu şekilde forma &ccedil;ift tıklarsam ekran g&ouml;r&uuml;nt&uuml;m&uuml; kaydedecek ama şuan sadece formun kapadığı yerleri alacak ve kapadığı yerlerin altında ne var g&ouml;remiyorum bu pek&nbsp;<linkz id="linkz0"><nobr><span style="font-weight: bold; line-height: 1.7; color: rgb(255, 0, 0); border-bottom-width: 3px; border-bottom-style: double; border-bottom-color: rgb(255, 0, 0); cursor: pointer; ">sağlıklı</span></nobr></linkz>&nbsp;bir g&ouml;r&uuml;nt&uuml; değil.<br />
	<br />
	İkinci sorunumuz ise Ekran &Ccedil;ıktısını alırken ne yazık ki formumuz orada olduğu i&ccedil;in formumuzun resmini &ccedil;ekecek dolayısıyla burada bir cinlik yapıp, &ccedil;ift click olduğunda &Ouml;NCE formu g&ouml;r&uuml;nmez yapmalı daha sonra GetCapture fonksiyonumu &ccedil;ağırmalıyım.<br />
	<br />
	Yani formumuzun MouseDoubleClick event&rsquo;i şu şekilde olmalı ;<br />
	<img alt="" border="0" src="http://mertkanelpeze.files.wordpress.com/2011/02/5.jpg?w=560&amp;h=90" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; max-width: 800px; " /><br />
	Şimdi formumuzun opacity oranını biraz kısmalı ve kullanıcının resmini &ccedil;ektiği alanı daha iyi g&ouml;rmesini sağlamalıyız ;<br />
	<img alt="" border="0" src="http://mertkanelpeze.files.wordpress.com/2011/02/6.jpg?w=470&amp;h=72" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; max-width: 800px; " /><br />
	Şimdi projemi &ccedil;alıştırıyorum ve ekran g&ouml;r&uuml;nt&uuml;m&uuml; sizinle paylaşıyorum ;<br />
	<img alt="" border="0" src="http://mertkanelpeze.files.wordpress.com/2011/02/7.jpg?w=614&amp;h=322" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; max-width: 800px; " /><br />
	<br />
	G&ouml;rd&uuml;ğ&uuml;n&uuml;z gibi formumuz saydam bir yapı aldı yani kullanıcı artık nerenin g&ouml;r&uuml;nt&uuml;s&uuml;n&uuml; alabileceğini belirleyebilecek halde. Şimdi formum bu haldeyken &uuml;zerine doubleClick yapıp oluşan ekran g&ouml;r&uuml;nt&uuml;s&uuml;n&uuml; sizinle paylaşıyorum ve bu yazımıza son veriyoruz ;<br />
	<img alt="" border="0" src="http://mertkanelpeze.files.wordpress.com/2011/02/ekran-gc3b6rc3bcntc3bcsc3bc-08-02-2011-21-58-33.jpg?w=300&amp;h=300" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; max-width: 800px; " /><br />
	Projeyi indirmek i&ccedil;in&nbsp;<a href="http://mertkanelpeze.net/ders/PrintScreen.rar" rel="nofollow" style="color: rgb(29, 91, 128); text-decoration: none; " target="_blank">http://mertkanelpeze.net/ders/PrintScreen.rar</a></span></p>
]]></description></item></channel></rss>
