Asp.Net Core ViewComponent Kullanımı

Asp.Net Core ile birlikte gelen View Componentleri WebForms ile kullanılan UserControl veya MVC ile kullandığımız Partial View yapılarına benzetebiliriz. Web uygulamalarımızda birden fazla alanda kullanmak istediğimiz viewlerimiz için ViewComponent’i tercih edebiliriz.

MVC’nin önceki sürümlerinde birden fazla alanda kullanmak istediğimiz bileşenleri genellikle Partial View olarak tasarlar ve [ChildActionOnly] attribute ile birlikte tek başlarına çağrılmalarını engellerdik. Bu yapı bizim için büyük kolaylık sağlardı. Asp.Net Core ile birlikte [ChildActionOnly] attribute kullanımı kaldırılmış ve yeni ViewComponent yapısı geliştirilmiştir. ViewComponentler dışarıdan Http istek ile doğrudan ulaşılamazlar.

Okumaya devam…

Visual Studio Üzerinde Asp.Net Core Geliştirme Ortamını Hazırlamak

Microsoft tarafından 2014 yılında açık kaynak olarak duyurulan .Net Core platformu 2016 Haziran ayında RTM olarak kullanıma sunuldu. .Net Framework’e göre daha hızlı, modüler ve esnek bir yapı sunan .Net Core ile platform bağımsız uygulamalar da geliştirebileceğiz.

Yeni bir çekirdek ile sıfırdan geliştirilen Asp.Net Core, yazılım geliştirme aşamasında klasik Asp.Net ile oldukça benzer bir yapıdadır. Microsoft, Asp.Net Core ile MVC mimarisini devam ettirmiş, WebForms desteğini ise henüz sunmamıştır.

.Net Core Visual Studio 2015 içerisinde varsayılan olarak gelmediğinden harici olarak kurulması gerekmektedir. Kurulum dosyalarını indirmek için https://www.microsoft.com/net/download/core adresine giriyoruz.

Okumaya devam…

Telerik MVC DatePicker ve Jquery Validation Uyumsuzluğu

Telerik MVC Kendo UI DatePicker ile Jquery Validation kullandığınız da eğer ilgili input’ a default (varsayılan) bir değer atıyorsanız Jquery Validation bunu algılamıyor ve hata fırlatıyor.

Aşağıdaki kodu layout (master) sayfanıza ekleyerek tüm projenizde bu sorundan kurtulabilirsiniz.


<script type="text/javascript">

// Kendo UI ile Jquery Validation arasında yaşanan sorunu çözer.
// Ör: DatePicker default value atanmasına rağmen boş görmesi...
$(document).ready(function () {

jQuery.validator.addMethod(
'date',
function (value, element, params) {
if (this.optional(element)) {
return true;
};
var result = false;
try {
var date = kendo.parseDate(value, "dd.MM.yyyy");
result = true;
if (!date) {
result = false;
}
} catch (err) {
result = false;
}
return result;
},
''
);
});
</script>

Fluent Validation (.NET Validation İşlemleri)

İster web, ister mobil bir uygulama yazalım, geliştirdiğimiz uygulama yüzlerce hatta binlerce kişi tarafından kullanılabilir. Özellikle bu kullanıcı kitlesi içerisinde kötü niyetli kişilerin de olabileceğini düşünürsek kullanıcılardan aldığımız verilerin doğruluğu bizim açımızdan büyük önem arz etmektedir. jQuery Validation veya alternatif javascript kütüphaneleri ile bu sorunun önüne geçsek dahi bu doğrulamalar Javascript tabanlı yapıldığından tam güvenlik sağlayamazlar. Uygulamamıza dışarıdan  (get-post vb.) talep gelebileceğinden veya Javascript kapatılabileceğinden client-side olarak yapılan hiç bir doğrulama yöntemine güvenemeyiz.

Okumaya devam…

Yandex Metrica API Kullanımı

yandex_metrica

Yandex Metrica, Google Analytics benzeri web sitelerimiz / uygulamalarımız için istatistik sağlayan ücretsiz bir servistir. Kullanımı ve özellikleri bakımından Google Analytics’den eksik yanı olmamasıyla birlikte kullanıcıların site üzerinde neler yaptığını video şeklinde bize sunması gibi ek özellikleri de vardır.

API işlemine geçmeden önce sitemizi Yandex Metrica’ya eklememiz ve verilen kodu sitemize eklememiz gerekiyor. Bu adımlar çok basit ve Google Analytics ile aynı yapıda olduğundan bu adımları atlıyorum ve Metrica’yı sitenize entegre ettiğinizi düşünerek yazıya devam ediyorum.

Yandex API servisine erişebilmemiz için bize iki şey lazım. Birincisi uygulamıza/web sitemize ait bir Application ID, bir diğeri ise bu uygulamaya erişebilmek için güvenlik kodumuz yani token kodu.

Okumaya devam…

Asp.Net Https Yönlendirme

http-https

Global.asax dosyasında yapacağımız ufak bir değişiklik ile http gelen tüm istekleri zorunlu olarak https’e yönlendirebiliriz.

Bunun için aşağıdaki kod bloğunu Global.asax dosyamızın Application_BeginRequest eventine yazmamız yeterli olacaktır.

Okumaya devam…

ADO.NET Kullanışlı Fonksiyonlar

adonet

Yerini Entity Framework’e bıraksa da küçük çaplı projelerde halen severek kullanmaya devam ettiğim veri erişim sağlayıcısıdır kendileri..

Bir gün Ado.Net ile yazılım geliştirirken Insert, Update ve Delete işlemleri için her seferinde sql sorgusu yazmanın ve bu sorgulara tek tek AddWithValue işlemi yaparak parametre göndermenin benim için aslında ne kadar çok zaman kaybettirdiğini fark ettim ve bu süreyi kısaltmanın çözümlerini aradım. Ayrıca yazdığım Sql sorgularında da dikkatsizlik nedeniyle yazım hataları olabiliyordu.

Çözüm olarak Insert, Update ve Delete işlemleri için üç farklı method geliştirdim. Bu methodlar hem parametre ile gönderim yaparak hız ve güvenli sağlayacak hem de sql sorgularını kendi oluşturarak hata yapma olasılığını sıfırlayacaktı.

Okumaya devam…

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

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

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

Okumaya devam…

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

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

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

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

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

mvc_tr_bozuk

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