[{"data":1,"prerenderedAt":1524},["ShallowReactive",2],{"navigation":3,"categories":339,"/dersler/asp-net-mvc/asp-net-mvc-ajax-ile-uye-girisi-uyelik-sistemi-2-asp-net-mvc-yazi-dizisi-21":577},[4,173,210,235],{"title":5,"path":6,"stem":7,"children":8,"page":102},"Dersler","/dersler","dersler",[9,103,116,137,146,155,164],{"title":10,"path":11,"stem":12,"children":13,"page":102},"Asp.Net Mvc","/dersler/asp-net-mvc","dersler/asp-net-mvc",[14,18,22,26,30,34,38,42,46,50,54,58,62,66,70,74,78,82,86,90,94,98],{"title":15,"path":16,"stem":17},"Asp.Net Mvc – Ajax ile Üye Girişi – Üyelik Sistemi 2 (Asp.Net Mvc Yazı Dizisi – 21)","/dersler/asp-net-mvc/asp-net-mvc-ajax-ile-uye-girisi-uyelik-sistemi-2-asp-net-mvc-yazi-dizisi-21","dersler/asp-net-mvc/asp-net-mvc-ajax-ile-uye-girisi-uyelik-sistemi-2-asp-net-mvc-yazi-dizisi-21",{"title":19,"path":20,"stem":21},"Asp.Net Mvc - Code First ile Veritabanı İşlemleri 2 (Asp.Net Mvc Yazı Dizisi – 12)","/dersler/asp-net-mvc/asp-net-mvc-code-first-ile-veritabani-islemleri-2-asp-net-mvc-yazi-dizisi-12","dersler/asp-net-mvc/asp-net-mvc-code-first-ile-veritabani-islemleri-2-asp-net-mvc-yazi-dizisi-12",{"title":23,"path":24,"stem":25},"Asp.Net Mvc - Code First ile Veritabanı İşlemleri 1 - Proje Başlangıcı (Asp.Net Mvc Yazı Dizisi – 11)","/dersler/asp-net-mvc/asp-net-mvc-code-first-ile-veritabani-islemleri-proje-baslangici-asp-net-mvc-yazi-dizisi-11","dersler/asp-net-mvc/asp-net-mvc-code-first-ile-veritabani-islemleri-proje-baslangici-asp-net-mvc-yazi-dizisi-11",{"title":27,"path":28,"stem":29},"Asp.Net Mvc - Controller ve View İşlemleri 1 (Asp.Net Mvc Yazı Dizisi – 13)","/dersler/asp-net-mvc/asp-net-mvc-controller-ve-view-islemleri-1-asp-net-mvc-yazi-dizisi-13","dersler/asp-net-mvc/asp-net-mvc-controller-ve-view-islemleri-1-asp-net-mvc-yazi-dizisi-13",{"title":31,"path":32,"stem":33},"Asp.Net Mvc - Controller ve View İşlemleri 2 (Asp.Net Mvc Yazı Dizisi – 14)","/dersler/asp-net-mvc/asp-net-mvc-controller-ve-view-islemleri-2-asp-net-mvc-yazi-dizisi-14","dersler/asp-net-mvc/asp-net-mvc-controller-ve-view-islemleri-2-asp-net-mvc-yazi-dizisi-14",{"title":35,"path":36,"stem":37},"Asp.Net Mvc – Controller ve View İşlemleri 3 (Asp.Net Mvc Yazı Dizisi – 15)","/dersler/asp-net-mvc/asp-net-mvc-controller-ve-view-islemleri-3-asp-net-mvc-yazi-dizisi-15","dersler/asp-net-mvc/asp-net-mvc-controller-ve-view-islemleri-3-asp-net-mvc-yazi-dizisi-15",{"title":39,"path":40,"stem":41},"Asp.Net Mvc – Html Helper'ler (Asp.Net Mvc Yazı Dizisi – 16)","/dersler/asp-net-mvc/asp-net-mvc-html-helperler-asp-net-mvc-yazi-dizisi-16","dersler/asp-net-mvc/asp-net-mvc-html-helperler-asp-net-mvc-yazi-dizisi-16",{"title":43,"path":44,"stem":45},"Asp.Net Mvc – Html Helper'lerin For Takılı Kullanım Örnekleri 1 (Asp.Net Mvc Yazı Dizisi – 18)","/dersler/asp-net-mvc/asp-net-mvc-html-helperlerin-for-takili-kullanim-ornekleri-1-asp-net-mvc-yazi-dizisi-18","dersler/asp-net-mvc/asp-net-mvc-html-helperlerin-for-takili-kullanim-ornekleri-1-asp-net-mvc-yazi-dizisi-18",{"title":47,"path":48,"stem":49},"Asp.Net Mvc – Html Helper'lerin For Takılı Kullanım Örnekleri 2 (Asp.Net Mvc Yazı Dizisi – 19)","/dersler/asp-net-mvc/asp-net-mvc-html-helperlerin-for-takili-kullanim-ornekleri-2-asp-net-mvc-yazi-dizisi-19","dersler/asp-net-mvc/asp-net-mvc-html-helperlerin-for-takili-kullanim-ornekleri-2-asp-net-mvc-yazi-dizisi-19",{"title":51,"path":52,"stem":53},"Asp.Net Mvc Layout Sayfaları (Asp.Net Mvc Yazı Dizisi – 4)","/dersler/asp-net-mvc/asp-net-mvc-layout-sayfalari-asp-net-mvc-yazi-dizisi-4","dersler/asp-net-mvc/asp-net-mvc-layout-sayfalari-asp-net-mvc-yazi-dizisi-4",{"title":55,"path":56,"stem":57},"Asp.Net Mvc Layout Sayfaları - Partial View (Asp.Net Mvc Yazı Dizisi – 7)","/dersler/asp-net-mvc/asp-net-mvc-layout-sayfalari-partial-view-asp-net-mvc-yazi-dizisi-7","dersler/asp-net-mvc/asp-net-mvc-layout-sayfalari-partial-view-asp-net-mvc-yazi-dizisi-7",{"title":59,"path":60,"stem":61},"Asp.Net Mvc Layout Sayfaları - Render Page (Asp.Net Mvc Yazı Dizisi – 6)","/dersler/asp-net-mvc/asp-net-mvc-layout-sayfalari-render-page-asp-net-mvc-yazi-dizisi-6","dersler/asp-net-mvc/asp-net-mvc-layout-sayfalari-render-page-asp-net-mvc-yazi-dizisi-6",{"title":63,"path":64,"stem":65},"Asp.Net Mvc Layout Sayfaları - Render Section (Asp.Net Mvc Yazı Dizisi – 5)","/dersler/asp-net-mvc/asp-net-mvc-layout-sayfalari-render-section-asp-net-mvc-yazi-dizisi-5","dersler/asp-net-mvc/asp-net-mvc-layout-sayfalari-render-section-asp-net-mvc-yazi-dizisi-5",{"title":67,"path":68,"stem":69},"Asp.Net Mvc Nedir? (Asp.Net Mvc Yazı Dizisi - 1)","/dersler/asp-net-mvc/asp-net-mvc-nedir-asp-net-mvc-yazi-dizisi-1","dersler/asp-net-mvc/asp-net-mvc-nedir-asp-net-mvc-yazi-dizisi-1",{"title":71,"path":72,"stem":73},"Asp.Net Mvc Razor View Engine Bölüm 1 (Asp.Net Mvc Yazı Dizisi – 8)","/dersler/asp-net-mvc/asp-net-mvc-razor-view-engine-bolum-1-asp-net-mvc-yazi-dizisi-8","dersler/asp-net-mvc/asp-net-mvc-razor-view-engine-bolum-1-asp-net-mvc-yazi-dizisi-8",{"title":75,"path":76,"stem":77},"Asp.Net Mvc Razor View Engine Bölüm 2 (Asp.Net Mvc Yazı Dizisi – 9)","/dersler/asp-net-mvc/asp-net-mvc-razor-view-engine-bolum-2-asp-net-mvc-yazi-dizisi-9","dersler/asp-net-mvc/asp-net-mvc-razor-view-engine-bolum-2-asp-net-mvc-yazi-dizisi-9",{"title":79,"path":80,"stem":81},"Asp.Net Mvc Razor View Engine Bölüm 3 (Asp.Net Mvc Yazı Dizisi – 10)","/dersler/asp-net-mvc/asp-net-mvc-razor-view-engine-bolum-3-asp-net-mvc-yazi-dizisi-10","dersler/asp-net-mvc/asp-net-mvc-razor-view-engine-bolum-3-asp-net-mvc-yazi-dizisi-10",{"title":83,"path":84,"stem":85},"Asp.Net Mvc Routing Mekanizması ve Mvc 5 ile Gelen Yenilikler","/dersler/asp-net-mvc/asp-net-mvc-routing-mekanizmasi-ve-mvc-5-ile-gelen-yenilikler","dersler/asp-net-mvc/asp-net-mvc-routing-mekanizmasi-ve-mvc-5-ile-gelen-yenilikler",{"title":87,"path":88,"stem":89},"Asp.Net Mvc – Web Helper'ler (Asp.Net Mvc Yazı Dizisi – 17)","/dersler/asp-net-mvc/asp-net-mvc-web-helperler-asp-net-mvc-yazi-dizisi-17","dersler/asp-net-mvc/asp-net-mvc-web-helperler-asp-net-mvc-yazi-dizisi-17",{"title":91,"path":92,"stem":93},"Asp.Net Mvc – Yeni Üye Kaydı ve Dosya Yükleme - Üyelik Sistemi 1 (Asp.Net Mvc Yazı Dizisi – 20)","/dersler/asp-net-mvc/asp-net-mvc-yeni-uye-kaydi-ve-dosya-yukleme-uyelik-sistemi-1-asp-net-mvc-yazi-dizisi-20","dersler/asp-net-mvc/asp-net-mvc-yeni-uye-kaydi-ve-dosya-yukleme-uyelik-sistemi-1-asp-net-mvc-yazi-dizisi-20",{"title":95,"path":96,"stem":97},"Asp.Net Mvc'nin Avantajları (Asp.Net Mvc Yazı Dizisi – 2)","/dersler/asp-net-mvc/asp-net-mvcnin-avantajlari-asp-net-mvc-yazi-dizisi-2","dersler/asp-net-mvc/asp-net-mvcnin-avantajlari-asp-net-mvc-yazi-dizisi-2",{"title":99,"path":100,"stem":101},"İlk Asp.Net Mvc Projesinin Oluşturulması (Asp.Net Mvc Yazı Dizisi – 3)","/dersler/asp-net-mvc/ilk-asp-net-mvc-projesinin-olusturulmasi-asp-net-mvc-yazi-dizisi-3","dersler/asp-net-mvc/ilk-asp-net-mvc-projesinin-olusturulmasi-asp-net-mvc-yazi-dizisi-3",false,{"title":104,"path":105,"stem":106,"children":107,"page":102},"Javascript","/dersler/javascript","dersler/javascript",[108,112],{"title":109,"path":110,"stem":111},"Jquery'den Yalın Javascript (Vanilla Js)'e Geçiş","/dersler/javascript/jqueryden-yalin-javascript-vanilla-jse-gecis","dersler/javascript/jqueryden-yalin-javascript-vanilla-jse-gecis",{"title":113,"path":114,"stem":115},"Object Oriented (Nesne Yönelimli) Javascript Programlama","/dersler/javascript/object-oriented-nesne-yonelimli-javascript-programlama","dersler/javascript/object-oriented-nesne-yonelimli-javascript-programlama",{"title":117,"path":118,"stem":119,"children":120,"page":102},"Orchard Cms","/dersler/orchard-cms","dersler/orchard-cms",[121,125,129,133],{"title":122,"path":123,"stem":124},"Orchard Project Nedir? (Orchard Cms Seri - 1)","/dersler/orchard-cms/orchard-project-nedir-orchard-cms-seri-1","dersler/orchard-cms/orchard-project-nedir-orchard-cms-seri-1",{"title":126,"path":127,"stem":128},"Orchard – Visual Studio ile Kurulumu? (Orchard Cms Seri – 3)","/dersler/orchard-cms/orchard-visual-studio-ile-kurulumu-orchard-cms-seri-3","dersler/orchard-cms/orchard-visual-studio-ile-kurulumu-orchard-cms-seri-3",{"title":130,"path":131,"stem":132},"Orchard - Web Matrix ile Kurulumu? (Orchard Cms Seri – 2)","/dersler/orchard-cms/orchard-web-matrix-kurulumu-orchard-cms-seri-2","dersler/orchard-cms/orchard-web-matrix-kurulumu-orchard-cms-seri-2",{"title":134,"path":135,"stem":136},"Orchard'ı Türkçeleştirme (Türkçe Dil Dosyaları Mevcut)","/dersler/orchard-cms/orchardi-turkcelestirme-turkce-dil-dosyalari","dersler/orchard-cms/orchardi-turkcelestirme-turkce-dil-dosyalari",{"title":138,"path":139,"stem":140,"children":141,"page":102},"RequireJs","/dersler/requirejs","dersler/requirejs",[142],{"title":143,"path":144,"stem":145},"RequireJs Nedir? (RequireJs ile Modüler JavaScript Programlama)","/dersler/requirejs/requirejs-nedir-requirejs-ile-moduler-javascript-programlama-1","dersler/requirejs/requirejs-nedir-requirejs-ile-moduler-javascript-programlama-1",{"title":147,"path":148,"stem":149,"children":150,"page":102},"Three.js ile WebGL","/dersler/three-js-ile-webgl","dersler/three-js-ile-webgl",[151],{"title":152,"path":153,"stem":154},"WebGL Nedir? (Three.js ile WebGL)","/dersler/three-js-ile-webgl/webgl-nedir-three-js-ile-webgl-1","dersler/three-js-ile-webgl/webgl-nedir-three-js-ile-webgl-1",{"title":156,"path":157,"stem":158,"children":159,"page":102},"Vue.js","/dersler/vue-js","dersler/vue-js",[160],{"title":161,"path":162,"stem":163},"Vue.js Nedir?","/dersler/vue-js/vue-js-nedir","dersler/vue-js/vue-js-nedir",{"title":165,"path":166,"stem":167,"children":168,"page":102},"Yazılım Mimarisi","/dersler/yazilim-mimarisi","dersler/yazilim-mimarisi",[169],{"title":170,"path":171,"stem":172},"Kurumsal Web Uygulamaları Geliştirme","/dersler/yazilim-mimarisi/kurumsal-web-uygulamalari-gelistirme","dersler/yazilim-mimarisi/kurumsal-web-uygulamalari-gelistirme",{"title":174,"path":175,"stem":176,"children":177,"page":102},"Duyurular","/duyurular","duyurular",[178,182,186,190,194,198,202,206],{"title":179,"path":180,"stem":181},"Asp.Net vNext ve Visual Studio 14","/duyurular/asp-net-vnext-ve-visual-studio-14","duyurular/asp-net-vnext-ve-visual-studio-14",{"title":183,"path":184,"stem":185},"Nop Commerce 3.20 Sürümü Çıktı","/duyurular/nop-commerce-3-20-surumu-cikti","duyurular/nop-commerce-3-20-surumu-cikti",{"title":187,"path":188,"stem":189},"Nop Commerce 3.30 Yenilikleri","/duyurular/nop-commerce-3-30-yenilikleri","duyurular/nop-commerce-3-30-yenilikleri",{"title":191,"path":192,"stem":193},"TypeScript Final Sürümüne Ulaştı","/duyurular/typescript-final-surumune-ulasti","duyurular/typescript-final-surumune-ulasti",{"title":195,"path":196,"stem":197},"Visual Studio 2013 Update 1 Final Çıktı","/duyurular/visual-studio-2013-update-1-final-cikti","duyurular/visual-studio-2013-update-1-final-cikti",{"title":199,"path":200,"stem":201},"Visual Studio 2013 Update 2 Final Çıktı","/duyurular/visual-studio-2013-update-2-final-cikti","duyurular/visual-studio-2013-update-2-final-cikti",{"title":203,"path":204,"stem":205},"Visual Studio 2013 Update 3 Final Çıktı","/duyurular/visual-studio-2013-update-3-final-cikti","duyurular/visual-studio-2013-update-3-final-cikti",{"title":207,"path":208,"stem":209},"Wordpress 3.8.1 Sürümü Çıktı","/duyurular/wordpress-3-8-1-surumu-cikti","duyurular/wordpress-3-8-1-surumu-cikti",{"title":211,"path":212,"stem":213,"children":214,"page":102},"Geliştirmelerim","/gelistirmelerim","gelistirmelerim",[215,219,223,227,231],{"title":216,"path":217,"stem":218},"ChatGPT Arayüz Projesi","/gelistirmelerim/chatgpt-arayuz","gelistirmelerim/chatgpt-arayuz",{"title":220,"path":221,"stem":222},"Orchard Bootstrap Eklentisi","/gelistirmelerim/orchard-bootstrap-eklentisi","gelistirmelerim/orchard-bootstrap-eklentisi",{"title":224,"path":225,"stem":226},"Orchard Localized Layer Eklentisi","/gelistirmelerim/orchard-localized-layer-eklentisi","gelistirmelerim/orchard-localized-layer-eklentisi",{"title":228,"path":229,"stem":230},"Orchard Responsive Flex Slider Eklentisi","/gelistirmelerim/orchard-responsive-flex-slider-eklentisi","gelistirmelerim/orchard-responsive-flex-slider-eklentisi",{"title":232,"path":233,"stem":234},"Vue.js Token Eklentisi","/gelistirmelerim/vue-js-token-eklentisi","gelistirmelerim/vue-js-token-eklentisi",{"title":236,"path":237,"stem":238,"children":239,"page":102},"İpuçları","/ipuclari","ipuclari",[240,249,258,266,275,284,292,309,317,330],{"title":241,"path":242,"stem":243,"children":244,"page":102},"Apache Cordova","/ipuclari/apache-cordova","ipuclari/apache-cordova",[245],{"title":246,"path":247,"stem":248},"Visual Studio'da Cordova Intellisense Aktif Etme","/ipuclari/apache-cordova/visual-studioda-cordova-intellisense-aktif-etme","ipuclari/apache-cordova/visual-studioda-cordova-intellisense-aktif-etme",{"title":250,"path":251,"stem":252,"children":253,"page":102},"Apache Server","/ipuclari/apache-server","ipuclari/apache-server",[254],{"title":255,"path":256,"stem":257},"Apache Sunucularda Açılış Sayfasını Değiştirmek","/ipuclari/apache-server/apache-sunucularda-acilis-sayfasini-degistirmek","ipuclari/apache-server/apache-sunucularda-acilis-sayfasini-degistirmek",{"title":10,"path":259,"stem":260,"children":261,"page":102},"/ipuclari/asp-net-mvc","ipuclari/asp-net-mvc",[262],{"title":263,"path":264,"stem":265},"Class Library Projelerine Razor Intellisense Desteği Eklemek","/ipuclari/asp-net-mvc/class-library-projelerine-razor-intellisense-destegi-eklemek","ipuclari/asp-net-mvc/class-library-projelerine-razor-intellisense-destegi-eklemek",{"title":267,"path":268,"stem":269,"children":270,"page":102},"Asp.Net Web Api","/ipuclari/asp-net-web-api","ipuclari/asp-net-web-api",[271],{"title":272,"path":273,"stem":274},"Asp.Net Web Api Dosya İndirme","/ipuclari/asp-net-web-api/asp-net-web-api-dosya-indirme","ipuclari/asp-net-web-api/asp-net-web-api-dosya-indirme",{"title":276,"path":277,"stem":278,"children":279,"page":102},"IIS","/ipuclari/iis","ipuclari/iis",[280],{"title":281,"path":282,"stem":283},"Visual Studio IIS Express Yüksek Cpu Kullanımı Sorunu","/ipuclari/iis/visual-studio-iis-express-yuksek-cpu-kullanimi-sorunu","ipuclari/iis/visual-studio-iis-express-yuksek-cpu-kullanimi-sorunu",{"title":104,"path":285,"stem":286,"children":287,"page":102},"/ipuclari/javascript","ipuclari/javascript",[288],{"title":289,"path":290,"stem":291},"Jquery width() - innerWidth() - outerWidth() Farkları","/ipuclari/javascript/jquery-width-innerwidth-outerwidth-farklari","ipuclari/javascript/jquery-width-innerwidth-outerwidth-farklari",{"title":293,"path":294,"stem":295,"children":296,"page":102},"Nop Commerce","/ipuclari/nop-commerce","ipuclari/nop-commerce",[297,301,305],{"title":298,"path":299,"stem":300},"Nop Commerce Eklentilerinde Kullanıcı Yetkilendirmesi","/ipuclari/nop-commerce/nop-commerce-eklenti-kullanici-yetkilendirmesi","ipuclari/nop-commerce/nop-commerce-eklenti-kullanici-yetkilendirmesi",{"title":302,"path":303,"stem":304},"Nop Commerce Eklenti Yazımında Intelli Sense Sorununu Düzeltme","/ipuclari/nop-commerce/nop-commerce-eklenti-yaziminda-intelli-sense-sorununu-duzeltme","ipuclari/nop-commerce/nop-commerce-eklenti-yaziminda-intelli-sense-sorununu-duzeltme",{"title":306,"path":307,"stem":308},"Nop Commerce Widget Konum Listesi","/ipuclari/nop-commerce/nop-commerce-widget-konum-listesi","ipuclari/nop-commerce/nop-commerce-widget-konum-listesi",{"title":117,"path":310,"stem":311,"children":312,"page":102},"/ipuclari/orchard-cms","ipuclari/orchard-cms",[313],{"title":314,"path":315,"stem":316},"Orchard 1.7.x Sürümlerinde Intellisense Hatasını Giderme","/ipuclari/orchard-cms/orchard-1-7-x-surumlerinde-intellisense-hatasini-giderme","ipuclari/orchard-cms/orchard-1-7-x-surumlerinde-intellisense-hatasini-giderme",{"title":318,"path":319,"stem":320,"children":321,"page":102},"Wordpress","/ipuclari/wordpress","ipuclari/wordpress",[322,326],{"title":323,"path":324,"stem":325},"Word Press Ftp Bilgisi Sormama Ayarı","/ipuclari/wordpress/word-press-ftp-bilgisi-sormama-ayari","ipuclari/wordpress/word-press-ftp-bilgisi-sormama-ayari",{"title":327,"path":328,"stem":329},"Wordpress Sidebar Meta - Wordpress.org Linkini Silme","/ipuclari/wordpress/wordpress-sidebar-meta-wordpress-org-linkini-silme","ipuclari/wordpress/wordpress-sidebar-meta-wordpress-org-linkini-silme",{"title":331,"path":332,"stem":333,"children":334,"page":102},"Xampp","/ipuclari/xampp","ipuclari/xampp",[335],{"title":336,"path":337,"stem":338},"Xampp Tüm Sürüm Listesi","/ipuclari/xampp/xampp-tum-surum-listesi","ipuclari/xampp/xampp-tum-surum-listesi",[340,357,368,379,390,401,412,423,434,445,456,467,478,489,500,511,522,533,544,555,566],{"id":341,"title":5,"body":342,"coverImage":349,"createDate":349,"description":346,"extension":350,"meta":351,"navigation":352,"path":353,"seo":354,"stem":355,"__hash__":356},"posts/dersler/.navigation.md",{"type":343,"value":344,"toc":345},"minimark",[],{"title":346,"searchDepth":347,"depth":347,"links":348},"",2,[],null,"md",{},true,"/dersler/.navigation",{"title":5,"description":346},"dersler/.navigation","Yo_9ZJtmvgLHf17cAHzvT06H3T1Ets_s-roHMTl3ZYI",{"id":358,"title":10,"body":359,"coverImage":349,"createDate":349,"description":346,"extension":350,"meta":363,"navigation":352,"path":364,"seo":365,"stem":366,"__hash__":367},"posts/dersler/asp-net-mvc/.navigation.md",{"type":343,"value":360,"toc":361},[],{"title":346,"searchDepth":347,"depth":347,"links":362},[],{},"/dersler/asp-net-mvc/.navigation",{"title":10,"description":346},"dersler/asp-net-mvc/.navigation","PTvSN66cD4508L31HdyDUIhOskLEnya90TKHQjGo994",{"id":369,"title":104,"body":370,"coverImage":349,"createDate":349,"description":346,"extension":350,"meta":374,"navigation":352,"path":375,"seo":376,"stem":377,"__hash__":378},"posts/dersler/javascript/.navigation.md",{"type":343,"value":371,"toc":372},[],{"title":346,"searchDepth":347,"depth":347,"links":373},[],{},"/dersler/javascript/.navigation",{"title":104,"description":346},"dersler/javascript/.navigation","bUttamdS6EWYvmoedNpErrdL_02OT9K6sHHmAD5kdXE",{"id":380,"title":117,"body":381,"coverImage":349,"createDate":349,"description":346,"extension":350,"meta":385,"navigation":352,"path":386,"seo":387,"stem":388,"__hash__":389},"posts/dersler/orchard-cms/.navigation.md",{"type":343,"value":382,"toc":383},[],{"title":346,"searchDepth":347,"depth":347,"links":384},[],{},"/dersler/orchard-cms/.navigation",{"title":117,"description":346},"dersler/orchard-cms/.navigation","vf9ZQxf2YUpNSH09JkDW8B80DJ8dutrwo13pM-L1naU",{"id":391,"title":138,"body":392,"coverImage":349,"createDate":349,"description":346,"extension":350,"meta":396,"navigation":352,"path":397,"seo":398,"stem":399,"__hash__":400},"posts/dersler/requirejs/.navigation.md",{"type":343,"value":393,"toc":394},[],{"title":346,"searchDepth":347,"depth":347,"links":395},[],{},"/dersler/requirejs/.navigation",{"title":138,"description":346},"dersler/requirejs/.navigation","3ee9nRLCD2baXpsVn9PyDaAus4--JiF-l-veIDcdruM",{"id":402,"title":147,"body":403,"coverImage":349,"createDate":349,"description":346,"extension":350,"meta":407,"navigation":352,"path":408,"seo":409,"stem":410,"__hash__":411},"posts/dersler/three-js-ile-webgl/.navigation.md",{"type":343,"value":404,"toc":405},[],{"title":346,"searchDepth":347,"depth":347,"links":406},[],{},"/dersler/three-js-ile-webgl/.navigation",{"title":147,"description":346},"dersler/three-js-ile-webgl/.navigation","nUfb_DUlupidc2LBy3L_59z47x2BhJi1-L6Ri78gMMI",{"id":413,"title":156,"body":414,"coverImage":349,"createDate":349,"description":346,"extension":350,"meta":418,"navigation":352,"path":419,"seo":420,"stem":421,"__hash__":422},"posts/dersler/vue-js/.navigation.md",{"type":343,"value":415,"toc":416},[],{"title":346,"searchDepth":347,"depth":347,"links":417},[],{},"/dersler/vue-js/.navigation",{"title":156,"description":346},"dersler/vue-js/.navigation","sM919oShzUaKXtAu2t6UxThzxjp88FIpEiCBtqjgMfM",{"id":424,"title":165,"body":425,"coverImage":349,"createDate":349,"description":346,"extension":350,"meta":429,"navigation":352,"path":430,"seo":431,"stem":432,"__hash__":433},"posts/dersler/yazilim-mimarisi/.navigation.md",{"type":343,"value":426,"toc":427},[],{"title":346,"searchDepth":347,"depth":347,"links":428},[],{},"/dersler/yazilim-mimarisi/.navigation",{"title":165,"description":346},"dersler/yazilim-mimarisi/.navigation","VaeC5tLP3Enl4njeu0Cen-C_KmQabvKhw7PxK_bMbAw",{"id":435,"title":174,"body":436,"coverImage":349,"createDate":349,"description":346,"extension":350,"meta":440,"navigation":352,"path":441,"seo":442,"stem":443,"__hash__":444},"posts/duyurular/.navigation.md",{"type":343,"value":437,"toc":438},[],{"title":346,"searchDepth":347,"depth":347,"links":439},[],{},"/duyurular/.navigation",{"title":174,"description":346},"duyurular/.navigation","4rzF9u-0UF1wDFh1PaKOGlrl47vkJ-eGm2YLWTQsWB8",{"id":446,"title":211,"body":447,"coverImage":349,"createDate":349,"description":346,"extension":350,"meta":451,"navigation":352,"path":452,"seo":453,"stem":454,"__hash__":455},"posts/gelistirmelerim/.navigation.md",{"type":343,"value":448,"toc":449},[],{"title":346,"searchDepth":347,"depth":347,"links":450},[],{},"/gelistirmelerim/.navigation",{"title":211,"description":346},"gelistirmelerim/.navigation","-rbnagzfm7EAv-3Wbx2RtTpnuOsf7PhFd1k8HWymFJs",{"id":457,"title":236,"body":458,"coverImage":349,"createDate":349,"description":346,"extension":350,"meta":462,"navigation":352,"path":463,"seo":464,"stem":465,"__hash__":466},"posts/ipuclari/.navigation.md",{"type":343,"value":459,"toc":460},[],{"title":346,"searchDepth":347,"depth":347,"links":461},[],{},"/ipuclari/.navigation",{"title":236,"description":346},"ipuclari/.navigation","zi0IIAkH6byWTX1v0PQqvoJGIN-QOgZPuFh46B3-Hbs",{"id":468,"title":241,"body":469,"coverImage":349,"createDate":349,"description":346,"extension":350,"meta":473,"navigation":352,"path":474,"seo":475,"stem":476,"__hash__":477},"posts/ipuclari/apache-cordova/.navigation.md",{"type":343,"value":470,"toc":471},[],{"title":346,"searchDepth":347,"depth":347,"links":472},[],{},"/ipuclari/apache-cordova/.navigation",{"title":241,"description":346},"ipuclari/apache-cordova/.navigation","XB8Y86jOhcbmfazjiAHT9ZBlLm-ELG_56cMZdlgVDeg",{"id":479,"title":250,"body":480,"coverImage":349,"createDate":349,"description":346,"extension":350,"meta":484,"navigation":352,"path":485,"seo":486,"stem":487,"__hash__":488},"posts/ipuclari/apache-server/.navigation.md",{"type":343,"value":481,"toc":482},[],{"title":346,"searchDepth":347,"depth":347,"links":483},[],{},"/ipuclari/apache-server/.navigation",{"title":250,"description":346},"ipuclari/apache-server/.navigation","nz2-tvhAoLZq5JoofxrB1Vce1Y0ZJxM5-aJy4UGGMBE",{"id":490,"title":10,"body":491,"coverImage":349,"createDate":349,"description":346,"extension":350,"meta":495,"navigation":352,"path":496,"seo":497,"stem":498,"__hash__":499},"posts/ipuclari/asp-net-mvc/.navigation.md",{"type":343,"value":492,"toc":493},[],{"title":346,"searchDepth":347,"depth":347,"links":494},[],{},"/ipuclari/asp-net-mvc/.navigation",{"title":10,"description":346},"ipuclari/asp-net-mvc/.navigation","yIDoFpgOrvcNkVOqKxihtoYUeqvtYWjqHMCSbvyyBM8",{"id":501,"title":267,"body":502,"coverImage":349,"createDate":349,"description":346,"extension":350,"meta":506,"navigation":352,"path":507,"seo":508,"stem":509,"__hash__":510},"posts/ipuclari/asp-net-web-api/.navigation.md",{"type":343,"value":503,"toc":504},[],{"title":346,"searchDepth":347,"depth":347,"links":505},[],{},"/ipuclari/asp-net-web-api/.navigation",{"title":267,"description":346},"ipuclari/asp-net-web-api/.navigation","lAXXpFakou4QFVT0fsneP_g0umpUlY7pPiW3AUj0iIg",{"id":512,"title":276,"body":513,"coverImage":349,"createDate":349,"description":346,"extension":350,"meta":517,"navigation":352,"path":518,"seo":519,"stem":520,"__hash__":521},"posts/ipuclari/iis/.navigation.md",{"type":343,"value":514,"toc":515},[],{"title":346,"searchDepth":347,"depth":347,"links":516},[],{},"/ipuclari/iis/.navigation",{"title":276,"description":346},"ipuclari/iis/.navigation","zl9qxvnrSEksXoGXqf4t3nm5q4tAsAUoQZN7O2Pj6l8",{"id":523,"title":104,"body":524,"coverImage":349,"createDate":349,"description":346,"extension":350,"meta":528,"navigation":352,"path":529,"seo":530,"stem":531,"__hash__":532},"posts/ipuclari/javascript/.navigation.md",{"type":343,"value":525,"toc":526},[],{"title":346,"searchDepth":347,"depth":347,"links":527},[],{},"/ipuclari/javascript/.navigation",{"title":104,"description":346},"ipuclari/javascript/.navigation","l3NHgRo-FsSkV-HcqIpwTPoxjwyiA_Er6lWUBa_iyKU",{"id":534,"title":293,"body":535,"coverImage":349,"createDate":349,"description":346,"extension":350,"meta":539,"navigation":352,"path":540,"seo":541,"stem":542,"__hash__":543},"posts/ipuclari/nop-commerce/.navigation.md",{"type":343,"value":536,"toc":537},[],{"title":346,"searchDepth":347,"depth":347,"links":538},[],{},"/ipuclari/nop-commerce/.navigation",{"title":293,"description":346},"ipuclari/nop-commerce/.navigation","J3gbuZvYk7B3_EWUoYX4qmWCvGsfciErCs_DkpZS3o4",{"id":545,"title":117,"body":546,"coverImage":349,"createDate":349,"description":346,"extension":350,"meta":550,"navigation":352,"path":551,"seo":552,"stem":553,"__hash__":554},"posts/ipuclari/orchard-cms/.navigation.md",{"type":343,"value":547,"toc":548},[],{"title":346,"searchDepth":347,"depth":347,"links":549},[],{},"/ipuclari/orchard-cms/.navigation",{"title":117,"description":346},"ipuclari/orchard-cms/.navigation","emBSh7WkN8FUKMOnKi3efkXnJMctE9nz-z5apX2Nk28",{"id":556,"title":318,"body":557,"coverImage":349,"createDate":349,"description":346,"extension":350,"meta":561,"navigation":352,"path":562,"seo":563,"stem":564,"__hash__":565},"posts/ipuclari/wordpress/.navigation.md",{"type":343,"value":558,"toc":559},[],{"title":346,"searchDepth":347,"depth":347,"links":560},[],{},"/ipuclari/wordpress/.navigation",{"title":318,"description":346},"ipuclari/wordpress/.navigation","se7piGHmA3YAlKnPNPqIRhyiTc-1cdlxvCE_WChWiNs",{"id":567,"title":331,"body":568,"coverImage":349,"createDate":349,"description":346,"extension":350,"meta":572,"navigation":352,"path":573,"seo":574,"stem":575,"__hash__":576},"posts/ipuclari/xampp/.navigation.md",{"type":343,"value":569,"toc":570},[],{"title":346,"searchDepth":347,"depth":347,"links":571},[],{},"/ipuclari/xampp/.navigation",{"title":331,"description":346},"ipuclari/xampp/.navigation","-Eggmae4KDrGpf_pbmsKkFN0yO5CtVI5ak5TYdCiNwI",{"id":578,"title":15,"body":579,"coverImage":1518,"createDate":1519,"description":1520,"extension":350,"meta":1521,"navigation":352,"path":16,"seo":1522,"stem":17,"__hash__":1523},"posts/dersler/asp-net-mvc/asp-net-mvc-ajax-ile-uye-girisi-uyelik-sistemi-2-asp-net-mvc-yazi-dizisi-21.md",{"type":343,"value":580,"toc":1516},[581,585,598,603,606,616,632,637,659,669,672,684,691,698,704,717,723,729,735,741,744,749,754,765,771,776,782,789,796,802,805,814,1472,1481,1487,1490,1493,1496,1499,1502,1510,1513],[582,583,15],"h1",{"id":584},"aspnet-mvc-ajax-ile-üye-girişi-üyelik-sistemi-2-aspnet-mvc-yazı-dizisi-21",[586,587,588,592,593],"p",{},[589,590,591],"strong",{},"Önceki Yazı :"," ",[594,595,596],"a",{"href":92},[589,597,91],{},[586,599,600],{},[589,601,602],{},"Merhaba Arkadaşlar,",[586,604,605],{},"Geliştirmekte olduğumuz blog projesinde, bir önceki derste yeni üyelik ve resim yükleme işlemlerini incelemiştik.",[607,608,609],"blockquote",{},[586,610,611,612,615],{},"Önceki yazımızda, bir takım değişiklikler ve eklemeler yaptım. Eğer makaleyi ",[589,613,614],{},"06.04.2014"," tarihinden önce\nokuduysanız, makaleyi tekrar incelemenizi ve projenin son halini tekrar indirmenizi özellikle tavsiye ediyorum.",[586,617,618,619,622,623,627,628,631],{},"Bugünkü dersimizde ise, üye girişi işlemlerini yapıyor olacağız. Bu sistem bize aynı zamanda yetkilendirmeyi de sağlıyor\nolacak. Burada önemli olan nokta, üyelik için kendi yapımızı kullanıyor olmamız. Microsoft'un ",[589,620,621],{},"Asp.Net Membership",", *\n",[624,625,626],"em",{},"Simple Membership","*(Mvc 4) gibi yapıları bulunmakta ve işlerini çok iyi bir şekilde yapmaktadır. Ancak istedim ki, işin\nmantığını daha iyi anlayalım. Yoksa ",[589,629,630],{},"Membership"," ile alakalı yığınla makale internette bulunabilir.",[586,633,634],{},[589,635,636],{},"Üye Girişi",[638,639,640,649],"ul",{},[641,642,643,644,648],"li",{},"Öncelikle, önceki derslerde kullandığımız projemizin son halini açalım. (İndirmek için\nlütfen ",[594,645,647],{"href":646},"/images/proje-dosyalar/asp-net-mvc-yeni-uye-kaydi-ve-dosya-yukleme-uyelik-sistemi-1-asp-net-mvc-yazi-dizisi-20/MvcProjesi.zip","tıklayınız.",")",[641,650,651,654,655,658],{},[589,652,653],{},"Controllers>UyelikController"," dosyamızı açalım ve içerisine, aşağıdaki üye giriş sayfasını oluşturacağımız, *\n",[624,656,657],{},"UyeGiris","* Action'umuzu ekleyelim.",[660,661,666],"pre",{"className":662,"code":664,"language":665},[663],"language-text","public ActionResult UyeGiris()\n{\n    return View();\n}\n","text",[667,668,664],"code",{"__ignoreMap":346},[586,670,671],{},"Görüldüğü üzere, geriye View'imizi döndüren, Action'umuzu ekledik.",[638,673,674],{},[641,675,676,677,679,680,683],{},"Şimdi ",[589,678,657],{}," Action'umuza sağ tıklayarak ",[589,681,682],{},"Add View"," diyelim ve ayarlarını aşağıdaki gibi yapalım.",[586,685,686],{},[687,688],"img",{"alt":689,"src":690},"UyeGiris View'i ekleme","/images/2014/04/2014-04-02+12_34_54.jpg",[638,692,693],{},[641,694,695,697],{},[589,696,657],{}," View'imizin içeriğinde, Asp.Net Mvc'nin sunduğu Ajax teknolojisini kullanacağız.",[586,699,700,703],{},[589,701,702],{},"Ajax :"," Ajax teknolojisi, Html, Javascript işlemlerinin asenkron olarak yapılması demektir. Yani bir şey ile ilgili\nbir talep sunucuya gönderildiğinde, sunucu gerekli cevabı verir. Bu cevap javascript tarafından sayfanın her hangi bir\nyerine yansıtılır. Bu noktada sayfanın tamamı, sunucuya gidip gelmez ve sayfa yenilenmez. Böylelikle hem çok ciddi\nperformans kazancımız olur, hemde site yerel bir uygulama gibi görüntülenir. Yeni web dünyasının vazgeçilmezidir.",[638,705,706],{},[641,707,708,709,712,713,716],{},"Bunun için öncelikle, projemize, ",[589,710,711],{},"Microsoft jQuery Unobtrusive Ajax"," paketini ",[589,714,715],{},"Nuget Package Manager"," aracılığıyla\nyüklememiz gerekmektedir. Yükleme işlemi için aşağıdaki resimleri takip edin.",[586,718,719],{},[687,720],{"alt":721,"src":722},"Nuget Package Managere giriş","/images/2014/04/2014-04-02+12_34_55.jpg",[586,724,725],{},[687,726],{"alt":727,"src":728},"Ajax paket yükleme 1","/images/2014/04/2014-04-02+13_08_10.jpg",[586,730,731],{},[687,732],{"alt":733,"src":734},"Ajax paket yükleme 2","/images/2014/04/2014-04-02+13_08_19.jpg",[586,736,737],{},[687,738],{"alt":739,"src":740},"Ajax paket yükleme 3","/images/2014/04/2014-04-02+13_08_36.jpg",[586,742,743],{},"Resimleri takip ederek kurulumu yaptık.",[638,745,746],{},[641,747,748],{},"Şimdi de, yeni eklediğimiz, javascript dosyasını sisteme tanıtmamız lazım.",[586,750,751],{},[589,752,753],{},"BundleConfig",[638,755,756,762],{},[641,757,758,761],{},[589,759,760],{},"App_Start>BundleConfig.cs"," dosyasını açalım. Bu dosyanın içerisinde, sistemde kullanmış olduğumuz, script ve css\ndosyalarını sisteme entegre ediyoruz. Bu dosya ile entegre etmenin avantajı ise, sistemin tüm burada ekli dosyaları\nsıkıştırırak tek dosya haline getiriyor olması. Böylelikle hem performans kazancımız oluyor, hem de dosyadaki\nkodlarımızın dışarıdan okunaklığı azaldığından, güvenlikte artış meydana geliyor. Son bir avantajımızda, dosyada bir\ndeğişiklik olduğunda, kendiliğinden, isimde ufak değişikler yaparak tarayıcı önbelleğini temizlemeye gerek kalmaksızın\ndosyamızı güncelliyor olması.",[641,763,764],{},"Script dosyası (javascript vs.) eklerken;",[660,766,769],{"className":767,"code":768,"language":665},[663],"bundles.Add(new ScriptBundle(\"dosya sıkıştırılıp, gösterilecek yer\").Include(\"asıl dosyanın yolu\"));\n",[667,770,768],{"__ignoreMap":346},[638,772,773],{},[641,774,775],{},"Style dosyası (css vs.) eklerken ise;",[660,777,780],{"className":778,"code":779,"language":665},[663],"bundles.Add(new StyleBundle(\"dosya sıkıştırıp, gösterilecek yer\").Include(\"asıl dosyanın yolu\"));\n",[667,781,779],{"__ignoreMap":346},[586,783,784,785,788],{},"şeklinde dosyalarımızı ekleyebiliyoruz. Şimdi",[589,786,787],{},"jquery.unobtrusive-ajax"," dosyamızı ekleyebiliriz.",[638,790,791],{},[641,792,793,795],{},[589,794,753],{}," dosyamıza aşağıdaki kodları ekleyelim.",[660,797,800],{"className":798,"code":799,"language":665},[663],"//Mvc Ajax işlemleri için aşağıdaki dosyamızı ekledik.\nbundles.Add(new ScriptBundle(\"~/bundles/jquery-unobtrusive\").Include(\n\"~/Scripts/jquery.unobtrusive-ajax.js\"));\n\n* Dosyamızı kaydettikten sonra, bu dosyamızın, tüm View sayfaları tarafından kullanılmasını sağlamak amacıyla, **Views>\n  Shared>_Layout.cshtml** dosyamızı açalım.\n\n@Scripts.Render(\"~/bundles/jquery\")\n\nsatırından sonraki satıra,\n\n \u003C!--Ajax işlemleri için gereken dosyamızı burada tüm sayfalarda kullanılacak şekilde tanıttık.\n        Ayrıca dosyanın orijinal yolunu değil, bizim belirlediğimiz ~/bundles/jquery-unobtrusive\n        yolunun kullanıldığına dikkat edin.-->\n\n@Scripts.Render(\"~/bundles/jquery-unobtrusive\")\n",[667,801,799],{"__ignoreMap":346},[586,803,804],{},"kodunu ekleyelim ve dosyayı kaydedelim.",[638,806,807],{},[641,808,809,810,813],{},"Artık üye giriş sayfamızı hazırlayabiliriz. Bunun için, ",[589,811,812],{},"Views>Uyelik>UyeGiris.cshtml"," sayfasını açalım ve içeriğini\naşağıdaki gibi düzenleyelim.",[660,815,819],{"className":816,"code":817,"language":818,"meta":346,"style":346},"language-html shiki shiki-themes material-theme-lighter github-light github-dark","\u003C!--Her hangi bir model kullanmadık burada doğrulamayı kendimiz elle yapacağız-->\n@{\n    ViewBag.Title = \"Üye Girişi\";\n}\n\u003C!--Layout sayfamızda sayfanın en alt kısmında scripts adlı bir sectionumuz tanımlanmıştı.\n    Script ve css kodlarımızı scripts sectionuna koyacağız.\n    Detaylı bilgi önceki yazılarımızda vardır.-->\n    @section scripts{\n    \u003Cstyle type=\"text/css\">\n        #formKapsayici {\n        box-shadow: 0 0 5px gray;\n        padding: 25px;\n        height: 500px;\n    }\n\n        #divSol, #divSag {\n            float: left;\n            margin-left: 25px;\n        }\n\n            #divSol *, #divSag * {\n                margin-top: 15px;\n            }\n\n        input[type=\"text\"] {\n            width: 250px;\n        }\n\n        #btnUyeOl {\n            /*clear komutu ile önceki divlerin sola yaslanarak sıralanmasında, butonun bu yaslanmaya\n            uymayıp alt satıra inmesini sağlıyoruz*/\n            clear: both;\n            display: block;\n            margin-left: 132px;\n        }\n\n        #divSonuc {\n            color: red;\n        }\n    \u003C/style>\n\n}\n\u003Ch2>Üye Girişi\u003C/h2>\n@using (Ajax.BeginForm(\"UyeGirisi\", \"Uyelik\", new AjaxOptions { HttpMethod = \"POST\", UpdateTargetId = \"divSonuc\" },\nnew { id = \"formKapsayici\" }))\n    {\n    \u003Cdiv id=\"divSol\">\n        @Html.Label(\"E-Posta Adresiniz\")\u003Cbr />\n        @Html.Label(\"Şifreniz\")\n    \u003C/div>\n    \u003Cdiv id=\"divSag\">\n        : @Html.TextBox(\"txtPosta\")\u003Cbr />\n        : @Html.Password(\"pswSifre\")\n    \u003C/div>\n    \u003Cinput type=\"submit\" value=\"Üye Ol\" id=\"btnUyeOl\" />\n    \u003Cdiv id=\"divSonuc\">\u003C/div>\n    }\n","html",[667,820,821,830,836,842,848,854,860,866,872,903,917,947,962,977,983,989,1008,1021,1035,1041,1046,1068,1083,1089,1094,1120,1135,1140,1145,1155,1161,1167,1180,1193,1207,1212,1217,1227,1240,1245,1255,1260,1265,1286,1292,1298,1304,1325,1339,1345,1354,1373,1385,1391,1400,1443,1467],{"__ignoreMap":346},[822,823,826],"span",{"class":824,"line":825},"line",1,[822,827,829],{"class":828},"sutJx","\u003C!--Her hangi bir model kullanmadık burada doğrulamayı kendimiz elle yapacağız-->\n",[822,831,832],{"class":824,"line":347},[822,833,835],{"class":834},"su5hD","@{\n",[822,837,839],{"class":824,"line":838},3,[822,840,841],{"class":834},"    ViewBag.Title = \"Üye Girişi\";\n",[822,843,845],{"class":824,"line":844},4,[822,846,847],{"class":834},"}\n",[822,849,851],{"class":824,"line":850},5,[822,852,853],{"class":828},"\u003C!--Layout sayfamızda sayfanın en alt kısmında scripts adlı bir sectionumuz tanımlanmıştı.\n",[822,855,857],{"class":824,"line":856},6,[822,858,859],{"class":828},"    Script ve css kodlarımızı scripts sectionuna koyacağız.\n",[822,861,863],{"class":824,"line":862},7,[822,864,865],{"class":828},"    Detaylı bilgi önceki yazılarımızda vardır.-->\n",[822,867,869],{"class":824,"line":868},8,[822,870,871],{"class":834},"    @section scripts{\n",[822,873,875,879,883,887,890,894,898,900],{"class":824,"line":874},9,[822,876,878],{"class":877},"sP7_E","    \u003C",[822,880,882],{"class":881},"sQzsp","style",[822,884,886],{"class":885},"s9AJx"," type",[822,888,889],{"class":877},"=",[822,891,893],{"class":892},"sjJ54","\"",[822,895,897],{"class":896},"s_sjI","text/css",[822,899,893],{"class":892},[822,901,902],{"class":877},">\n",[822,904,906,910,914],{"class":824,"line":905},10,[822,907,909],{"class":908},"stp6e","        #",[822,911,913],{"class":912},"sPLZw","formKapsayici",[822,915,916],{"class":877}," {\n",[822,918,920,924,927,931,933,936,940,944],{"class":824,"line":919},11,[822,921,923],{"class":922},"soE4H","        box-shadow",[822,925,926],{"class":877},":",[822,928,930],{"class":929},"srdBf"," 0",[822,932,930],{"class":929},[822,934,935],{"class":929}," 5",[822,937,939],{"class":938},"sw1J6","px",[822,941,943],{"class":942},"s_hVV"," gray",[822,945,946],{"class":877},";\n",[822,948,950,953,955,958,960],{"class":824,"line":949},12,[822,951,952],{"class":922},"        padding",[822,954,926],{"class":877},[822,956,957],{"class":929}," 25",[822,959,939],{"class":938},[822,961,946],{"class":877},[822,963,965,968,970,973,975],{"class":824,"line":964},13,[822,966,967],{"class":922},"        height",[822,969,926],{"class":877},[822,971,972],{"class":929}," 500",[822,974,939],{"class":938},[822,976,946],{"class":877},[822,978,980],{"class":824,"line":979},14,[822,981,982],{"class":877},"    }\n",[822,984,986],{"class":824,"line":985},15,[822,987,988],{"emptyLinePlaceholder":352},"\n",[822,990,992,994,997,1000,1003,1006],{"class":824,"line":991},16,[822,993,909],{"class":908},[822,995,996],{"class":912},"divSol",[822,998,999],{"class":877},",",[822,1001,1002],{"class":908}," #",[822,1004,1005],{"class":912},"divSag",[822,1007,916],{"class":877},[822,1009,1011,1014,1016,1019],{"class":824,"line":1010},17,[822,1012,1013],{"class":922},"            float",[822,1015,926],{"class":877},[822,1017,1018],{"class":942}," left",[822,1020,946],{"class":877},[822,1022,1024,1027,1029,1031,1033],{"class":824,"line":1023},18,[822,1025,1026],{"class":922},"            margin-left",[822,1028,926],{"class":877},[822,1030,957],{"class":929},[822,1032,939],{"class":938},[822,1034,946],{"class":877},[822,1036,1038],{"class":824,"line":1037},19,[822,1039,1040],{"class":877},"        }\n",[822,1042,1044],{"class":824,"line":1043},20,[822,1045,988],{"emptyLinePlaceholder":352},[822,1047,1049,1052,1054,1058,1060,1062,1064,1066],{"class":824,"line":1048},21,[822,1050,1051],{"class":908},"            #",[822,1053,996],{"class":912},[822,1055,1057],{"class":1056},"s83vy"," *",[822,1059,999],{"class":877},[822,1061,1002],{"class":908},[822,1063,1005],{"class":912},[822,1065,1057],{"class":1056},[822,1067,916],{"class":877},[822,1069,1071,1074,1076,1079,1081],{"class":824,"line":1070},22,[822,1072,1073],{"class":922},"                margin-top",[822,1075,926],{"class":877},[822,1077,1078],{"class":929}," 15",[822,1080,939],{"class":938},[822,1082,946],{"class":877},[822,1084,1086],{"class":824,"line":1085},23,[822,1087,1088],{"class":877},"            }\n",[822,1090,1092],{"class":824,"line":1091},24,[822,1093,988],{"emptyLinePlaceholder":352},[822,1095,1097,1100,1103,1106,1109,1111,1113,1115,1118],{"class":824,"line":1096},25,[822,1098,1099],{"class":1056},"        input",[822,1101,1102],{"class":877},"[",[822,1104,1105],{"class":885},"type",[822,1107,889],{"class":1108},"smGrS",[822,1110,893],{"class":892},[822,1112,665],{"class":896},[822,1114,893],{"class":892},[822,1116,1117],{"class":877},"]",[822,1119,916],{"class":877},[822,1121,1123,1126,1128,1131,1133],{"class":824,"line":1122},26,[822,1124,1125],{"class":922},"            width",[822,1127,926],{"class":877},[822,1129,1130],{"class":929}," 250",[822,1132,939],{"class":938},[822,1134,946],{"class":877},[822,1136,1138],{"class":824,"line":1137},27,[822,1139,1040],{"class":877},[822,1141,1143],{"class":824,"line":1142},28,[822,1144,988],{"emptyLinePlaceholder":352},[822,1146,1148,1150,1153],{"class":824,"line":1147},29,[822,1149,909],{"class":908},[822,1151,1152],{"class":912},"btnUyeOl",[822,1154,916],{"class":877},[822,1156,1158],{"class":824,"line":1157},30,[822,1159,1160],{"class":828},"            /*clear komutu ile önceki divlerin sola yaslanarak sıralanmasında, butonun bu yaslanmaya\n",[822,1162,1164],{"class":824,"line":1163},31,[822,1165,1166],{"class":828},"            uymayıp alt satıra inmesini sağlıyoruz*/\n",[822,1168,1170,1173,1175,1178],{"class":824,"line":1169},32,[822,1171,1172],{"class":922},"            clear",[822,1174,926],{"class":877},[822,1176,1177],{"class":942}," both",[822,1179,946],{"class":877},[822,1181,1183,1186,1188,1191],{"class":824,"line":1182},33,[822,1184,1185],{"class":922},"            display",[822,1187,926],{"class":877},[822,1189,1190],{"class":942}," block",[822,1192,946],{"class":877},[822,1194,1196,1198,1200,1203,1205],{"class":824,"line":1195},34,[822,1197,1026],{"class":922},[822,1199,926],{"class":877},[822,1201,1202],{"class":929}," 132",[822,1204,939],{"class":938},[822,1206,946],{"class":877},[822,1208,1210],{"class":824,"line":1209},35,[822,1211,1040],{"class":877},[822,1213,1215],{"class":824,"line":1214},36,[822,1216,988],{"emptyLinePlaceholder":352},[822,1218,1220,1222,1225],{"class":824,"line":1219},37,[822,1221,909],{"class":908},[822,1223,1224],{"class":912},"divSonuc",[822,1226,916],{"class":877},[822,1228,1230,1233,1235,1238],{"class":824,"line":1229},38,[822,1231,1232],{"class":922},"            color",[822,1234,926],{"class":877},[822,1236,1237],{"class":942}," red",[822,1239,946],{"class":877},[822,1241,1243],{"class":824,"line":1242},39,[822,1244,1040],{"class":877},[822,1246,1248,1251,1253],{"class":824,"line":1247},40,[822,1249,1250],{"class":877},"    \u003C/",[822,1252,882],{"class":881},[822,1254,902],{"class":877},[822,1256,1258],{"class":824,"line":1257},41,[822,1259,988],{"emptyLinePlaceholder":352},[822,1261,1263],{"class":824,"line":1262},42,[822,1264,847],{"class":834},[822,1266,1268,1271,1274,1277,1279,1282,1284],{"class":824,"line":1267},43,[822,1269,1270],{"class":877},"\u003C",[822,1272,1273],{"class":881},"h2",[822,1275,1276],{"class":877},">",[822,1278,636],{"class":834},[822,1280,1281],{"class":877},"\u003C/",[822,1283,1273],{"class":881},[822,1285,902],{"class":877},[822,1287,1289],{"class":824,"line":1288},44,[822,1290,1291],{"class":834},"@using (Ajax.BeginForm(\"UyeGirisi\", \"Uyelik\", new AjaxOptions { HttpMethod = \"POST\", UpdateTargetId = \"divSonuc\" },\n",[822,1293,1295],{"class":824,"line":1294},45,[822,1296,1297],{"class":834},"new { id = \"formKapsayici\" }))\n",[822,1299,1301],{"class":824,"line":1300},46,[822,1302,1303],{"class":834},"    {\n",[822,1305,1307,1309,1312,1315,1317,1319,1321,1323],{"class":824,"line":1306},47,[822,1308,878],{"class":877},[822,1310,1311],{"class":881},"div",[822,1313,1314],{"class":885}," id",[822,1316,889],{"class":877},[822,1318,893],{"class":892},[822,1320,996],{"class":896},[822,1322,893],{"class":892},[822,1324,902],{"class":877},[822,1326,1328,1331,1333,1336],{"class":824,"line":1327},48,[822,1329,1330],{"class":834},"        @Html.Label(\"E-Posta Adresiniz\")",[822,1332,1270],{"class":877},[822,1334,1335],{"class":881},"br",[822,1337,1338],{"class":877}," />\n",[822,1340,1342],{"class":824,"line":1341},49,[822,1343,1344],{"class":834},"        @Html.Label(\"Şifreniz\")\n",[822,1346,1348,1350,1352],{"class":824,"line":1347},50,[822,1349,1250],{"class":877},[822,1351,1311],{"class":881},[822,1353,902],{"class":877},[822,1355,1357,1359,1361,1363,1365,1367,1369,1371],{"class":824,"line":1356},51,[822,1358,878],{"class":877},[822,1360,1311],{"class":881},[822,1362,1314],{"class":885},[822,1364,889],{"class":877},[822,1366,893],{"class":892},[822,1368,1005],{"class":896},[822,1370,893],{"class":892},[822,1372,902],{"class":877},[822,1374,1376,1379,1381,1383],{"class":824,"line":1375},52,[822,1377,1378],{"class":834},"        : @Html.TextBox(\"txtPosta\")",[822,1380,1270],{"class":877},[822,1382,1335],{"class":881},[822,1384,1338],{"class":877},[822,1386,1388],{"class":824,"line":1387},53,[822,1389,1390],{"class":834},"        : @Html.Password(\"pswSifre\")\n",[822,1392,1394,1396,1398],{"class":824,"line":1393},54,[822,1395,1250],{"class":877},[822,1397,1311],{"class":881},[822,1399,902],{"class":877},[822,1401,1403,1405,1408,1410,1412,1414,1417,1419,1422,1424,1426,1429,1431,1433,1435,1437,1439,1441],{"class":824,"line":1402},55,[822,1404,878],{"class":877},[822,1406,1407],{"class":881},"input",[822,1409,886],{"class":885},[822,1411,889],{"class":877},[822,1413,893],{"class":892},[822,1415,1416],{"class":896},"submit",[822,1418,893],{"class":892},[822,1420,1421],{"class":885}," value",[822,1423,889],{"class":877},[822,1425,893],{"class":892},[822,1427,1428],{"class":896},"Üye Ol",[822,1430,893],{"class":892},[822,1432,1314],{"class":885},[822,1434,889],{"class":877},[822,1436,893],{"class":892},[822,1438,1152],{"class":896},[822,1440,893],{"class":892},[822,1442,1338],{"class":877},[822,1444,1446,1448,1450,1452,1454,1456,1458,1460,1463,1465],{"class":824,"line":1445},56,[822,1447,878],{"class":877},[822,1449,1311],{"class":881},[822,1451,1314],{"class":885},[822,1453,889],{"class":877},[822,1455,893],{"class":892},[822,1457,1224],{"class":896},[822,1459,893],{"class":892},[822,1461,1462],{"class":877},">\u003C/",[822,1464,1311],{"class":881},[822,1466,902],{"class":877},[822,1468,1470],{"class":824,"line":1469},57,[822,1471,982],{"class":834},[638,1473,1474],{},[641,1475,1476,1477,1480],{},"Şimdi üye giriş ekranında girişin yapılacağı, onaylanacağı Action'umuzu da yazalım. **Controllers>UyelikController.cs\n** dosyasının içerisine,",[589,1478,1479],{},"UyeGirisi"," adlı bir Action ekleyelim. Ekleyeceğimiz kodlar aşağıdadır;",[660,1482,1485],{"className":1483,"code":1484,"language":665},[663],"[HttpPost]\npublic string UyeGirisi()\n{\n    //Request.Form[\"html elementinin name özelliği\"] ile Post edilen formdaki elemanların\n    //değerlerini alabiliyoruz. Bu metod yalnızca Post ile çalışır.\n    string posta = Request.Form[\"txtPosta\"];\n    string sifre = Request.Form[\"pswSifre\"];\n    if (String.IsNullOrEmpty(posta) && String.IsNullOrEmpty(sifre))\n    {\n        return \"E-Posta adresinizi ve şifrenizi girmediniz.\";\n    }\n        else if (String.IsNullOrEmpty(posta))\n    {\n        return \"E-posta adresinizi girmediniz.\";\n    }\n        else if (string.IsNullOrEmpty(sifre))\n    {\n        return \"Şifrenizi girmediniz.\";\n    }\n    else\n    {\n        using (MvcProjesiContext db = new MvcProjesiContext())\n    {\n        //Normalde şifreyi hashleyerek yazdırmamız ve kontrol etmemiz gerekir.\n        var uye = (from i in db.Uyes where i.Sifre == sifre && i.EPosta == posta select i).SingleOrDefault();\n        \n        if (uye == null) return \"Kullanıcı adınızı ya da şifreyi hatalı girdiniz.\";\n        \n        //Session'da müşteri ile ilgili bilgileri saklamaktayız.\n        //Güvenlik açısından bilgileri şifreleyerek saklamamız daha doğru bir yöntemdir.\n        //Asp.Net Membership yapısı, bu güvenliği sunmaktadır.\n        Session[\"uyeId\"] = uye.UyeId;\n        \n        //Burada eğer, kullanıcı bilgileri, sistemde eşleşirse, geriye girişin başarılı\n        //olduğuna dair bir mesaj ve 3 saniye sonra, ana sayfaya yönlendirecek bir\n        //javascript kodu ekliyoruz.\n        return \"Sisteme, başarıyla giriş yaptınız.\n        \u003Cscript type='text/javascript'>setTimeout(function(){window.location='/'},3000);\u003C/script>\";\n        }\n    }\n}\n",[667,1486,1484],{"__ignoreMap":346},[586,1488,1489],{},"Evet arkadaşlar, böylelikle projemizi bitirmiş olduk.",[586,1491,1492],{},"Basit bir projenin yapımının, 21 makalelik bir ders halinde olması, aslında kurumsal bir projenin ne kadar daha ağır\nolacağını göstermektedir.",[586,1494,1495],{},"Ben elimden geldiğince, değişik yöntemlerle anlatım yapmaya çalıştım. Her yerde bulabileceğiniz bilgilerin, dışına\nçıkmaya gayret gösterdim. Bununla birlikte, projeyi mümkün olduğunca sade tutmaya çalıştım. Bu yüzden, projede, güvenlik\nanlamında hiç bir önlem almadık.",[586,1497,1498],{},"Umarım sizlere faydası olmuştur.",[586,1500,1501],{},"Sonraki yazımda, kurumsal ölçekte bir proje geliştirirken nasıl bir yol izlemeliyiz, hangi kütüphaneleri kullanmalıyız,\nhangi standartlara göre kod yazmalıyız, ona değineceğim. Böylelikle serimizi bitirmiş oluyoruz.",[586,1503,1504,1505,1509],{},"Projenin son\nhalini",[594,1506,1508],{"href":1507},"/images/proje-dosyalar/asp-net-mvc-ajax-ile-uye-girisi-uyelik-sistemi-2-asp-net-mvc-yazi-dizisi-21/MvcProjesi.zip","buradan","\nindirebilirsiniz.",[586,1511,1512],{},"Hepinize kolaylıklar diliyorum.",[882,1514,1515],{},"html pre.shiki code .sutJx, html code.shiki .sutJx{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#6A737D;--shiki-default-font-style:inherit;--shiki-dark:#6A737D;--shiki-dark-font-style:inherit}html pre.shiki code .su5hD, html code.shiki .su5hD{--shiki-light:#90A4AE;--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sP7_E, html code.shiki .sP7_E{--shiki-light:#39ADB5;--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sQzsp, html code.shiki .sQzsp{--shiki-light:#E53935;--shiki-default:#22863A;--shiki-dark:#85E89D}html pre.shiki code .s9AJx, html code.shiki .s9AJx{--shiki-light:#9C3EDA;--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sjJ54, html code.shiki .sjJ54{--shiki-light:#39ADB5;--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .s_sjI, html code.shiki .s_sjI{--shiki-light:#91B859;--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .stp6e, html code.shiki .stp6e{--shiki-light:#39ADB5;--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sPLZw, html code.shiki .sPLZw{--shiki-light:#F76D47;--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .soE4H, html code.shiki .soE4H{--shiki-light:#8796B0;--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .srdBf, html code.shiki .srdBf{--shiki-light:#F76D47;--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sw1J6, html code.shiki .sw1J6{--shiki-light:#F76D47;--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .s_hVV, html code.shiki .s_hVV{--shiki-light:#90A4AE;--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .s83vy, html code.shiki .s83vy{--shiki-light:#E2931D;--shiki-default:#22863A;--shiki-dark:#85E89D}html pre.shiki code .smGrS, html code.shiki .smGrS{--shiki-light:#39ADB5;--shiki-default:#D73A49;--shiki-dark:#F97583}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":346,"searchDepth":347,"depth":347,"links":1517},[],"2014/04/2014-04-02+13_08_19.jpg","2014-04-07T00:00:00.000Z","Önceki Yazı : Asp.Net Mvc – Yeni Üye Kaydı ve Dosya Yükleme - Üyelik Sistemi 1 (Asp.Net Mvc Yazı Dizisi – 20)",{},{"title":15,"description":1520},"RP1W-wdP3eVxkelHx4z9g7e-_ZA7fz7uGnOPOJ4Ryvs",1762871734078]