Koray Kırdinli

Yazılım ve İş Yaşamı Hakkında Paylaşımlar

ASP.NET ile Dynamic Data Web Sitesi Yapılması

Merhaba arkadaşlar,

Bu yazımızda Framework 3.5 SP1 ile gelen Dynamic Data Web Site’lardan bahsedeceğiz. Öncelikle ben sitenin bütün tasarımını kendim yapmak isteyenlerdenim. Herhangi bir şablon kullanmaya pek sıcak bakmazdım ancak Dynamic Data bazı durumlarda işimizi inanılmaz kolaylaştırmaktadır. Örneğin sadece veri güncelleme,silme,ekleme,görüntüleme üzerine küçük bir intranet uygulama yapacaksanız hiç düşünmeden bu şablondan faydalanabilirsiniz. Custom düzenlemelere ihtiyacınız yok ise 2 dk da web siteniz hazır. Önce kısaca nasıl basit bir site yapacağımıza bakalım.

File->New->Project diyoruz ve çıkan diyalog penceresinde ASP.NET Dynamic Data Linq to SQL Web Application’ı seçiyoruz.

Bunu yaptıktan sonra zaten VS bize bir şablon proje oluşturuyor. Daha sonra Add New Item diyerek Data sekmesi altındaki LinqToSQL  Class seçiyoruz. Bunu eklememizin sebebi de veritabanına bağlantı sağlayabilmek. .dbml uzantılı sınıfı projemize ekledikten sonra Server Explorer’dan ilgili veritabanına bağlantı kurarak , ilgili db nesnelerini sınıfa ekliyoruz. Ben linq to SQL sınıfımın ismini DB olarak verdim ve geri planda DBDataContext isminde bir sınıf oluşturdu benim için.

DB.dbml yi ekledikten sonra global.asax’da aşağıdaki gibi ayarlamamız gerekiyor.

public class Global : System.Web.HttpApplication

{

private static MetaModel s_defaultModel = new MetaModel();

public static MetaModel DefaultModel

{

get

{

return s_defaultModel;

}

}

public static void RegisterRoutes(RouteCollection routes)

{

DefaultModel.RegisterContext(typeof(DBDataContext), new ContextConfiguration() { ScaffoldAllTables = true });

routes.Add(new DynamicDataRoute("{table}/{action}.aspx")

{

Constraints = new RouteValueDictionary(new { action = "List|Details|Edit|Insert" }),

Model = DefaultModel

});

// The following statements support combined-page mode, where the List, Detail, Insert, and

// Update tasks are performed by using the same page. To enable this mode, uncomment the

// following routes and comment out the route definition in the separate-page mode section above.

//routes.Add(new DynamicDataRoute("{table}/ListDetails.aspx") {

//    Action = PageAction.List,

//    ViewName = "ListDetails",

//    Model = DefaultModel

//});

//routes.Add(new DynamicDataRoute("{table}/ListDetails.aspx") {

//    Action = PageAction.Details,

//    ViewName = "ListDetails",

//    Model = DefaultModel

//});

}

void Application_Start(object sender, EventArgs e)

{

RegisterRoutes(RouteTable.Routes);

}

}

Sonuç olarak bütün seçtiğimiz tablolar üzerinde Edit,Insert,Delete ve Select yapabileceğiniz çok basit anlamda bir web sitesini dakikalar içerisinde yapmış oluyoruz. Tabi ki site üzerinde uyarlamalar yapmamız gerekecektir , bazı alanların görünmesini engellemek veya bazı yazıları değiştirmek vs.vs. Bunlara ilerki makalelerimizde değiniriz inşallah. Umarım faydalı olmuştur.
Herkese iyi çalışmalar dilerim.

Reklamlar

Nisan 9, 2012 Posted by | ASP.NET | , , , , , , , | 1 Yorum