Hasan Akpürüm
Kıdemli Yazılım Danışmanı
Makele Detayı

ASP.NET ile Dynamic Data Web Site Panel Yapılması

31.5.2013 00:40:52
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çİşin özünde baktığımızda işin büyük kısmı ve sürekli tekrar etmekten bir programcı olarak genelde sıkıldığımız kısmı klasik CRUD işlemleridir. İşte tam da bu noktada bizim sorunumuzu çözecek olarak yapı ASP.NET Dynamic Data Web Site! File->New->WebSite diyoruz ve çıkan diyalog penceresinde ASP.NET Dynamic Data Linq to SQL Web Application’ı seçiyoruz yeni web sitemizi yaratıyoruz. RESMİ BÜYÜK GÖRMEK İÇİN RESİME TIKLAYIN 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. Şu an için önemli olan hemen web sitemizi veritabanı ile ilişkilendirerek ayağa kaldırıp sonuca ulaşmak. Ben linq to SQL sınıfımın ismini DataClasses olarak verdim ve geri planda DataClassesDataContext isminde bir sınıf oluşturdu benim için. RESMİ BÜYÜK GÖRMEK İÇİN RESİME TIKLAYIN DataClasses.dbml yi ekledikten sonra global.asax’da aşağıdaki gibi ayarlamamız gerekiyor.  

 '                    IMPORTANT: DATA MODEL REGISTRATION

    ' Uncomment this line to register LINQ to SQL classes or an ADO.NET Entity Data

    ' model for ASP.NET Dynamic Data. Set ScaffoldAllTables = true only if you are sure

    ' that you want all tables in the data model to support a scaffold (i.e. templates)

    ' view. To control scaffolding for individual tables, create a partial class for

    ' the table and apply the [Scaffold(true)] attribute to the partial class.

    ' Note: Make sure that you change "YourDataContextType" to the name of the data context

    ' class in your application.

    ' model.RegisterContext(GetType(YourDataContextType), New ContextConfiguration() With {.ScaffoldAllTables = False})

 Global.asax'ın en başında yer alan yukarıdaki gibi tamamen pasif hale getirilmiş bir paragraf yazı ve bir satır kod Global.asax'ın en başında yer alıyor. Bizim için önemli olan en alttaki kod satırı tabi ki. Bu satırı aktif hale getirerek YouDataContextType'ın yerine kendi DBML dosyamızın DataContext'ini atamamız gerek. Sonrasında da ScaffoldAllTables özelliğini False değerindenTrue'ye çevirmeliyiz. [VB] model.RegisterContext(GetType(DataClassesDataContext), New ContextConfiguration() With{.ScaffoldAllTables = True}) [C#] model.RegisterContext(typeof(DataClassesDataContext), new ContextConfiguration() { ScaffoldAllTables = true}); Şimdi tüm değişikliklerimizi kaydedelim ve projemizi çalıştıralım :) RESMİ BÜYÜK GÖRMEK İÇİN RESİME TIKLAYIN RESMİ BÜYÜK GÖRMEK İÇİN RESİME TIKLAYIN RESMİ BÜYÜK GÖRMEK İÇİN RESİME TIKLAYIN RESMİ BÜYÜK GÖRMEK İÇİN RESİME TIKLAYIN RESMİ BÜYÜK GÖRMEK İÇİN RESİME TIKLAYIN  
Yorum yaz

Thanks, your message is sent successfully.