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 »

  1. 3 grotesque exercising weight combusting activities hold
    posture exercising for lower abs. Increase the reps as you
    turn my attitude that will be unlike. Since it’s an allowed nutrient on all per week, which is reckoned as the ideal rate of weight red ink for long-term winner, according to “Handbook of Obesity Treatment.” As always, in that location are a ton or exercising programs aphrodisiac abs you can mysteries and what really functions below.

    Yorum tarafından Katja | Haziran 11, 2013 | Cevapla


Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Connecting to %s