bugün
- kolye142
- erlik5
- pazarları çizgi film izlemek için erken uyanmak3
- günün sözü6
- cep telefonu17
- nokia16
- türkiye'nin kıymeti bilinmemiş şarkıcıları4
- rüzgar12
- pizza bira ikilisi4
- abd de futbol sahasına kamyonet dalması2
- bal10
- türkiyede kürt olarak barınabilmek için gerekenler71
- lale14
- 17 ekim 2026 gençlerbirliği galatasaray maçı22
- var olmak için ne yaptınız13
- pazar günleri ekmek almak3
- asla evlenilmeyecek erkekler5
- pazar günü erken kalkmak3
- sevgiliye uzaktan bakmak3
- sen kimsin sorusuna 3 kelimelik cevap ver10
- yüzde 50 burslu psikoloji bölümü kazanmak12
- ilkokul bebesine türbanı savunmak65
- evi ev yapan şeyler14
- kader4
- kaplan17
- fil9
- bileklik19
- billie eilish'in memeleri7
- yogartiksen39
- aslan15
- sözlük obezlerinin fotoğrafları10
- 14 ekim 2026 aston villa fenerbahçe maçı75
- kuş5
- at6
- 25 yılda adam edilen istanbul'u 5 yılda bitirmek48
- sevgili nedir7
- galatasaray balı2
- başka birinin ayağını yalamış erkekle evlenmek7
- gül7
- brezilya7
- eskortluk yapan sözlük yazarı25
- kim kimi neden sevmiyor14
- duayı bencil bir iş haline getirmek5
- galatasaray19
- gece gece sinirlenmek4
- ankara8
- sabah 6:00'da nervionun resmine bakarak rakı içmek12
- inançsızlığınız ve akıl almaz gecikmeniz3
- 13 ekim 2026 galatasaray barcelona maçı84
- fenerbahçe18
asp.net'in alternatifi değildir. asp.net ikiye ayrılır, biri asp.net web forms, diğeri mvc.
web forms aslında web sayfaları desktop uygulamalarındaki gibi oluşturmak için geliştirilen zımbırtı. yani desktop uygulaması geliştirirken forma label, buton,.. sürükleyip bırakır gibi web sayfası tasarlansın diye yapıldı. hiç html bilinmesine gerek kalmadan butonu sürükleyin çift tıklayın eventi oluşsun kodlarınızı yazın, bu kadar basit ama tabi düzgün bir web sayfası için html bilmek şart. mvc ise sağlam html bilgisi gerektirir.
farkları nelerdir?
- server kontrolleri
web forms'da server kontolleri bulunur. bunlar toolboxta bulunan örneğin button, label, checkbox, radiobutton, drpdownlist,.. Sürükle bırak şeklinde kolayca sayfanıza ekleyebiliyorsunuz.
mvc'de hazır kontrol yok. yani her nesneyi kendiniz oluşturmak zorundasınız.
web forms burda daha iyi gibi görünebilir ama öyle değil. server kontrolleri çalışma zamanında html'e çevrilir yani "asp:button" tagi çalışma zamanında "input type='button'" olacaktır. buda sayfayı yavaşlatan bir durumdur, mvcde bu htmle dönüştürme aşaması bulunmadığı için performans sağlanır.
- events
web formsda butonun çalıştıracağı kodları butona çift tıkladığınızda sizin için oluşturulan click event alanına yazabilirsiniz. yada en basitinden ilk sayfa açılışında form_load eventi tetiklenir buraya yazdığınız kodlar sayfa yüklendiğinde çalışır.
mvcde event mekanizması yok. örneğin butona tıklandığında iş yaptıracaksanız htmldeki form post metodunu kullanmalısınız.
web forms yine burda daha iyi gibi görünsede mvc öğrendiğinizde event mekanizmasının olmaması sizi hiç zorlamayacak tersine daha kolay şekilde kodlarınızı işletebileceksiniz.
- viewstate
web formsda sayfanın post olması yani sayfada bir butona tıklanması durumunda sayfa sunucuya gidip geldiğinde kontrollerin bir önceki durumunu korumak için bilgiler viewstate içinde saklanır. mesela textbox var ve içine yazı yazdınız ve sayfadaki her hangi bir butona bastınız, sayfa sunucuya gidip geldi ama bu aşamada texbox içindeki yazı otomatik olarak viewstate içine yazıldı sayfa yüklendiğinde viewstate içinden yazı tekrar alınıp texboxa yazıldı. özellikle form loaddaki işlemler için kullanışlıdır. veritabanından sadece 1kez verileri çekersiniz diğer türlü her seferinde post işlemi yapıldığında tekrar veri çekmek zorunda kalınırdı.
mvcde viewstate olmadığı için sayfanın son durumu otomatik saklanmaz sizin bunun için azda olsa fazlasan çaba harcamanız gerek.
burda yine web forms daha iyi gibi görünsede viewstate sayfanın boyutuna bağlı olarak çok büyük veri saklar ve bu veri her sayfa işleminde sunucu ve istemci arasında gider gelir buda yavaşlığa neden olur. mvcde viewstate olmaması performans arttırır.
not: web forms kullanındığında viewstate kapatılabiliyor.
- code behind
web formsda aspx ve aspx.cs uzantılı 2 dosya bulunur. aspx dosyasına html,css,js kodlarınızı yazarsınız ve c# kodlarınızı aspx.cs dosyasına yazarsınız. böylece c# kodları ve html kodları birbirine karışmaz.
mvcde code behind yok ama daha kullanışlı şekilde html ve c# kodlarınızı ayırabiliyorsunuz. detaylar aşağıda.
web formsda projenizi kendiniz katmanlı şekilde olutşrumalısınız ama mvcde gayet basit şekilde katmanlı mimari önceden sizin için tasarlanmıştır.
mvc nedir?
model - view - controller bir design patterndir, sıfırdan yapılmış bir teknoloji değildir, siz web sitesi yaparken bu mimariye uygun şekilde kod yazarsınız. yani aslında yukarda dediğim gibi siz yine asp.net dll'ini kullanmış oluyorsunuz ama kodlarınızı yazarken c# kodlarınızı controller'larda, html kodlarını view'larda ve nesnelerinizi model'de tutarsınız ve mvc mimarisini kullanmış olursunuz.
bir mvc projesi açtığınızda jquery, bootstrap falan önceden projeye eklenmiştir. hatta birde bootstrap kullanılarak yazılmış örnek bir web site bile projeye dahil edilmiştir.
appstart klasöründeki routeconfig dosyasında url rewrite işlemlerini çok kolayca yapabilirsiniz.
bundleconfig dosyasında css ve javascript dosyalarınızı bundle etmek gayit basit. bunun anlamı örneğin 5tane css dosyasını bundleconfig dosyası içinde yazılmış örnekteki gibi bundle ettiniz ve view yada layout dosyasında bundle'ı referans verdiniz. artık web sayfası çalışırken bu 5css dosyası birleşitirilir tek css haline getirilir boşluklar silinir yorum satırları silinir ve css dosyası minimize edilmiş olur böylece web sayfanıza ekstra performans sağlanmış olur.
neyse çok uzatmiyim, mvcnin efsaneliği yazmakla bitmez.
web forms aslında web sayfaları desktop uygulamalarındaki gibi oluşturmak için geliştirilen zımbırtı. yani desktop uygulaması geliştirirken forma label, buton,.. sürükleyip bırakır gibi web sayfası tasarlansın diye yapıldı. hiç html bilinmesine gerek kalmadan butonu sürükleyin çift tıklayın eventi oluşsun kodlarınızı yazın, bu kadar basit ama tabi düzgün bir web sayfası için html bilmek şart. mvc ise sağlam html bilgisi gerektirir.
farkları nelerdir?
- server kontrolleri
web forms'da server kontolleri bulunur. bunlar toolboxta bulunan örneğin button, label, checkbox, radiobutton, drpdownlist,.. Sürükle bırak şeklinde kolayca sayfanıza ekleyebiliyorsunuz.
mvc'de hazır kontrol yok. yani her nesneyi kendiniz oluşturmak zorundasınız.
web forms burda daha iyi gibi görünebilir ama öyle değil. server kontrolleri çalışma zamanında html'e çevrilir yani "asp:button" tagi çalışma zamanında "input type='button'" olacaktır. buda sayfayı yavaşlatan bir durumdur, mvcde bu htmle dönüştürme aşaması bulunmadığı için performans sağlanır.
- events
web formsda butonun çalıştıracağı kodları butona çift tıkladığınızda sizin için oluşturulan click event alanına yazabilirsiniz. yada en basitinden ilk sayfa açılışında form_load eventi tetiklenir buraya yazdığınız kodlar sayfa yüklendiğinde çalışır.
mvcde event mekanizması yok. örneğin butona tıklandığında iş yaptıracaksanız htmldeki form post metodunu kullanmalısınız.
web forms yine burda daha iyi gibi görünsede mvc öğrendiğinizde event mekanizmasının olmaması sizi hiç zorlamayacak tersine daha kolay şekilde kodlarınızı işletebileceksiniz.
- viewstate
web formsda sayfanın post olması yani sayfada bir butona tıklanması durumunda sayfa sunucuya gidip geldiğinde kontrollerin bir önceki durumunu korumak için bilgiler viewstate içinde saklanır. mesela textbox var ve içine yazı yazdınız ve sayfadaki her hangi bir butona bastınız, sayfa sunucuya gidip geldi ama bu aşamada texbox içindeki yazı otomatik olarak viewstate içine yazıldı sayfa yüklendiğinde viewstate içinden yazı tekrar alınıp texboxa yazıldı. özellikle form loaddaki işlemler için kullanışlıdır. veritabanından sadece 1kez verileri çekersiniz diğer türlü her seferinde post işlemi yapıldığında tekrar veri çekmek zorunda kalınırdı.
mvcde viewstate olmadığı için sayfanın son durumu otomatik saklanmaz sizin bunun için azda olsa fazlasan çaba harcamanız gerek.
burda yine web forms daha iyi gibi görünsede viewstate sayfanın boyutuna bağlı olarak çok büyük veri saklar ve bu veri her sayfa işleminde sunucu ve istemci arasında gider gelir buda yavaşlığa neden olur. mvcde viewstate olmaması performans arttırır.
not: web forms kullanındığında viewstate kapatılabiliyor.
- code behind
web formsda aspx ve aspx.cs uzantılı 2 dosya bulunur. aspx dosyasına html,css,js kodlarınızı yazarsınız ve c# kodlarınızı aspx.cs dosyasına yazarsınız. böylece c# kodları ve html kodları birbirine karışmaz.
mvcde code behind yok ama daha kullanışlı şekilde html ve c# kodlarınızı ayırabiliyorsunuz. detaylar aşağıda.
web formsda projenizi kendiniz katmanlı şekilde olutşrumalısınız ama mvcde gayet basit şekilde katmanlı mimari önceden sizin için tasarlanmıştır.
mvc nedir?
model - view - controller bir design patterndir, sıfırdan yapılmış bir teknoloji değildir, siz web sitesi yaparken bu mimariye uygun şekilde kod yazarsınız. yani aslında yukarda dediğim gibi siz yine asp.net dll'ini kullanmış oluyorsunuz ama kodlarınızı yazarken c# kodlarınızı controller'larda, html kodlarını view'larda ve nesnelerinizi model'de tutarsınız ve mvc mimarisini kullanmış olursunuz.
bir mvc projesi açtığınızda jquery, bootstrap falan önceden projeye eklenmiştir. hatta birde bootstrap kullanılarak yazılmış örnek bir web site bile projeye dahil edilmiştir.
appstart klasöründeki routeconfig dosyasında url rewrite işlemlerini çok kolayca yapabilirsiniz.
bundleconfig dosyasında css ve javascript dosyalarınızı bundle etmek gayit basit. bunun anlamı örneğin 5tane css dosyasını bundleconfig dosyası içinde yazılmış örnekteki gibi bundle ettiniz ve view yada layout dosyasında bundle'ı referans verdiniz. artık web sayfası çalışırken bu 5css dosyası birleşitirilir tek css haline getirilir boşluklar silinir yorum satırları silinir ve css dosyası minimize edilmiş olur böylece web sayfanıza ekstra performans sağlanmış olur.
neyse çok uzatmiyim, mvcnin efsaneliği yazmakla bitmez.
Gündemdeki Haberler
Güncel Önemli Başlıklar