Blog Stats
  • Posts - 17
  • Articles - 0
  • Comments - 10
  • Trackbacks - 0

 

Tuesday, June 10, 2008

Asp.Net MVC Preview 3 Getirdikleri

Asp.Net MVC Framework Preview 3 geçtiğimiz günlerde duyuruldu. Asp.Net MVC Preview 2 ile uygulama geliştirmiş olanlar için, Preview 3 ile gelen değişiklikleri bu yazıda özetleyeme çalışacağım.

Asp.Net MVC Framework konusunda ön bilgi için geçtiğimiz günlerde yaptığımız Asp.Net MVC seminerinin dökümanlarına, örnek uygulamalara, seminer sunumu ve video kaydına bakabilirsiniz.

Seminer sunumu ve örnek uygulamalar Preview 2 baz alınarak yapılmıştı.

Şimdi gelelim Preview 3’e.

Önce Controller cephesinde olan değişikliklere bakalım. Action Method’ların yazımında ve yapısında değişiklikler oldu. Şöyleki, eskiden void döndüren Action Method’lar artık ActionResult döndürüyor. ActionResult daha bir kaç farklı tipten oluşuyor. Önce basit bir örnek üzerinde görelim.

Preview 2 Action Method Örneği:

    public class HomeController : Controller
    {
        public void Index()
        {
            RenderView("Index");
        }
    }

Preview 3 Action Method Örneği:

public class HomeController : Controller {
  public ActionResult Index() {
    return View("Index");
  }
}

ActionResult da farklı tiplerde oluyor: ViewResult, EmptyResult, RedirectResult, RedirectToRouteResult, JsonResult, ContentResult

Bu ActionResult tiplerini döndürebilen Controller sınıfındaki methodlar da şu şekilde:

1. View : ViewResult döndürür (Yukarıdaki örnekte var)

2. Redirect : RedirectResult döndürür.

3. RedirectToAction : RedirectToRouteResult döndürür.

4. RedirectToRoute : RedirectToRouteResult döndürür.

5. Json : JsonResult döndürür.

6. Content : ContentResult döndürür.

Eğer bir Action Method void döndürürse ya da null döndürürse action invoker implicit olarak bir EmptyResult oluşturur.

Method, explicit, implicit gibi kavramlar için C#Türk.net’te Başlangıç Rehberi'nde  Göksu Özen tarafından yazılan Yöntemler 1, 23 yazılarına başvurabilirsiniz.

Şimdi de ActionFilter değişikliklerine göz atalım.

Action filter’lar için yeni bir IActionFilter interface eklenmiştir. ActionFilterAttribute attribute tipi de bu interface'i miras alır.

Action filter’lar artık 4 metoda sahipler: OnActionExecuting, OnActionExecuted, OnResultExecuting, OnResultExecuted. Metod adları zaten işlevleri hakkında ipucu veriyor.

Controller cephesindeki değişiklikler bu şekilde özetlenebilir. Şimdi gelelim View cephesine.

TextBox, Hidden, Password, DropDownList ve ListBox HTML yardımcı metodları güncellenmiştir.

ViewDataDictionary’ye bir Model property’si eklenmiştir.

Routing değişikliklerinden de biraz bahsedelim.

MVC route’larının oluşturulması artık daha kolay. MapRoute extension  metodu hemen göze çarpıyor. Buna da yine örnek verelim.

Preview 2 yapısı:

routes.Add("route-name", new Route("{locale}/{year}", new MvcRouteHandler()) {
  Defaults = new RouteValueDictionary(new {locale="en-US", year=DateTime.Now.Year.ToString()})
}

Preview 3 yapısı:

routes.MapRoute("route-name", "{locale}/{year}", new {locale="en-US", year=DateTime.Now.Year.ToString()});

Yeni bir IRouteConstraint interface eklendi.

Yeni bir HttpMethodConstraint tipi eklendi. httpMethod adlı kısıtlama ismi artık şart değil, artık HTTP terimleri üzerinden kısıtlama oluşturulabilmektedir.

Aşağıda örnek bir yazı var:

routes.MapRoute("route-name"
  , "{controller}/update"
  ,  new {action = "update"}
  , new {httpMethod = new HttpMethodConstraint("PUT", "POST")});

 

Bu arada System.Web.Abstractions ve System.Web.Routing kütüphanelerinin sürümleri değişti. Preview 3 sürümleri .NET Framework version 3.5 Service Pack 1 Beta ile gelenlere göre daha yeni.

Şimdilik değişiklikleri özetlemeye çalıştım. Yeni makale ve demo uygulamalar yolda.

Tuesday, May 20, 2008

Bugün Avcılar'da ASP.NET MVC Konuşuldu

İstanbul Üniversitesi Avcılar kampüsünde C#türk.Net adına M. Kemal Demir ile birlikte ASP.NET MVC Framework semineri verdik. Bilgisayar Mühendisliği öğrencilerinden ve hocalarından oluşan kalabalık bir grupla çok keyifli bir seminer gerçekleştirdik. Bilgisayar kulübüne ve bu güzel organizasyondan dolayı teşekkürler. Kulüp adına bizimle iletişime geçen başkan Burak Kanmaz ve Ramazan Barda'ya da seminer sonrası ikramlarından ve yakın ilgisinden dolayı teşekkür ediyorum. Öğrenncileri ile birlikte seminere katılan Özgür Can Turna hocamıza da katkılarından ötürü teşekkürler.

Küçük Çekmece Gölünün kıyısında, ağaçlar arasındaki Avcılar kampüsünde bulunmak benim için büyük bir keyif oldu.

Seminer sunumunu burdan, seminer demolarını buradan indirebilirsiniz.

Seminerde alınan görüntü kaydını da en kısa zamanda C#Türk.Net'te paylaşacağız. Resimler aşağıda.

 

DSCF0499

DSCF0493

 DSCF0505

DSCF0506

DSCF0507

DSCF0512

Sunday, May 18, 2008

Visual Studio 2008'de Dikey Split View

Visual Studio 2008 ile birlikte, Design View ve Source View yanında Split View de geldi. Dreamweaver veFrontPage gibi IDE'lerde olan bu yararlı özellik böylece Visual Studio 2008 ile de kullanılabilecek.

Default olarak yatay split view geliyor. Yatay split view benim dreamweaver kullanırken de pek sevmediğim bir özellikti. Yalnız widescreen monitör ve laptopların yaygınlaşmasıyla ekranlar çok genişledi. Split View özelliğini dikey hale getirirsek bize sağlanan genişlikten optimum yararlanmış oluruz.

Visual Studio'da bunu Enable etmek için Tools > Options,ordan da HTML Designer > General bölümüne giriyoruz. Orda Split Views Vertically seçeneğini işaretliyoruz. Artık SplitView özelliğini dikey olarak kullanabilirsiniz.

splitview1

 

splitview2

 

 

Copyright © Yunus Özen