sunum

Uploaded from authorPOINTLite
Views:
 
Category: Education
     
 

Presentation Description

No description available.

Comments

Presentation Transcript

ASP.NET 2.0 ile Web Uygulamaları Geliştirmek: 

ASP.NET 2.0 ile Web Uygulamaları Geliştirmek Uğur UMUTLUOĞLU Netron - Eğitmen ve Danışman http://www.umutluoglu.com http://umutluoglu.blogspot.com

AJANDA: 

AJANDA Master Sayfalar (MasterPages) Temalar (Themes) Site Haritası Oluşturmak ve Navigasyon Kontrolleri Üyelik Kontrolleri ve Membership API'si Rol Yönetimi Veritabanı İşlemleri ve Veri Kontrolleri Örnek Uygulamalar

ASP.NET 2.0 ile Gelen Yenilikler: 

ASP.NET 2.0 ile Gelen Yenilikler Kontroller Sayfa Altyapısı Servisler ve API’ler Veri Kontrolleri Üyelik Kontrolleri Web Partlar Navigasyon Kontrolleri Master Sayfalar Tema ve Skinler Gelişmiş İstemci Betikleme Derleme ve Lokalizasyon Üyelik (Membership) Rol Yönetimi Profiller Konfigürasyon Site Haritası Önbellekleme (Caching) Diğer Yeni Servisler

Master Sayfalar (MasterPages): 

Master Sayfalar (MasterPages) İçerik açısından temel bir sayfadan başka sayfaların kalıtılmasını sağlar Birden fazla sayfaya şablon olacak bir yapı sunar. Böylece içerik sayfaları şablon olarak master sayfasını kullanır Tasarım ve kodlama aşamasında büyük kolaylıklar sağlar

Master Sayfalar (MasterPages): 

Master Sayfalar (MasterPages) Site.master Default.aspx İçerik http://.../Default.aspx İçerik Şablonu

Slide6: 

<%@ Master Language="C#" AutoEventWireup="true" CodeFile="Site.master.cs" Inherits="Site" %> ....... <title>Untitled Page</title> </head> <body> <form id="form1" runat="server"> <div> <asp:contentplaceholder id="ContentPlaceHolder1" runat="server"> </asp:contentplaceholder> </div> </form> </body> </html> <%@ Page Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" Title="Untitled Page" %> <asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server"> <b>Burası içerik kısmı</b> </asp:Content> Site.master Default.aspx

Master Sayfalar (MasterPages): 

Master Sayfalar (MasterPages) Page.Master özelliği ile içerik sayfasından master sayfaya erişilebilir. Master.FindControl metodu ile Master sayfa içerisinde yer alan bir kontrole erişilip kontrolün özellikleri değiştirilebilir ((TextBox)Master.FindControl("txtMesaj")).Text = "Selam"; Master sayfada tanımlanmış public bir property veya metoda erişilebilir

Temalar (Themes): 

Temalar (Themes) Sayfalarda bulunan html elementlerinin ve ASP.NET sunucu kontrollerinin görünümünü belirleyen şablon kütüphaneleri oluşturulabilir CSS ile html etiketlerinin formatlanması dışında .skin uzantılı dosyalar ile ASP.NET sunucu kontrollerinin görsel formatlamaları da tek bir noktadan yapılabilir App_Themes klasörü ile uygulama ve sayfa bazında kolay şekilde temaların uygulanması ve yönetilmesi sağlanabilir

Temalar (Themes): 

Temalar (Themes) Uygulama bazlı tema belirleme <system.web> <pages theme="YesilTema"></pages> Sayfa bazlı tema belirleme <%@ Page Language="C#“ Theme="MaviTema" ….. %> Tema aktif olan bir uygulamada sayfa bazında temayı engellemek için Page direktifinde EnableTheming=“False“ ifadesini belirtmek gerekir Sayfa bazında ayarlamada intelli-sense desteği

Slide10: 

<asp:GridView runat="server" CellPadding="4" ForeColor="#333333" GridLines="None"> <FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" /> <RowStyle BackColor="#EFF3FB" /> <HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" /> <AlternatingRowStyle BackColor="White" /> </asp:GridView> <asp:TextBox runat="server" BackColor="LightBlue" BorderColor="SteelBlue" BorderStyle="Solid" BorderWidth="2px" Font-Names="Verdana"></asp:TextBox> <asp:TextBox SkinID="txtDashed" runat="server" BorderColor="#0000C0" BorderStyle="Dashed" ForeColor="Blue"></asp:TextBox> <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> <asp:TextBox ID="TextBox2" SkinID="txtDashed" runat="server"></asp:TextBox> SkinFile.skin Default.aspx

Navigasyon Kontrolleri: 

Navigasyon Kontrolleri Dinamik menüler oluşturmak için gerekli alt yapıyı sunar. JavaScript kullanmadan gelişmiş menü kontrolleri tasarlanabilir .sitemap uzantılı XML tabanlı site haritası dosyaları oluşturularak sayfalarda dinamik menüler oluşturulabilir

Navigasyon Kontrolleri: 

Navigasyon Kontrolleri Menu: Açılır menü kontrolü TreeView: Ağaç yapısındaki menü kontrolü SiteMapPath: O an sayfanın bulunduğu yolu belirten kontrol SiteMapDataSource: .sitemap dosyasını Menu ve TreeView kontrolüne veri kaynağına bağlamak için kullanılır

Navigasyon Kontrolleri: 

Navigasyon Kontrolleri Site Haritası API’si Site Haritası Web.sitemap ... Kontroller Menu TreeView SiteMapPath SiteMap- DataSource SiteMap SiteMapNode SiteMapNode SiteMapNode XmlSiteMapProvider Diğer Site Haritası Sağlayıcıları Sağlayıcılar

Site Haritası Oluşturma: 

Site Haritası Oluşturma <?xml version="1.0" encoding="utf-8" ?> <siteMap> <siteMapNode> <siteMapNode title="Anasayfa" url="~/Default.aspx" /> <siteMapNode title="Makaleler" url="~/Makale.aspx"> <siteMapNode title="C#" url="~/Cs.aspx" /> <siteMapNode title="ASP.NET" url="~/Aspnet.aspx" /> <siteMapNode title="ADO.NET" url="~/Adonet.aspx" /> </siteMapNode> <siteMapNode title="Dosyalar" url="~/Dosya.aspx" /> <siteMapNode title="Forum" url="~/Forum/" /> <siteMapNode title="İletişim" url="~/Iletisim.aspx" /> </siteMapNode> </siteMap> Web.sitemap

Slide15: 

Master Sayfalar Temalar Site Navigasyonu

Üyelik (Login) Kontrolleri: 

Üyelik (Login) Kontrolleri Bir web sitesinin üyelik alt yapısını geliştirmek oldukça zor ve uzun bir işlemdir. Veritabanı ve tabloların tasarımı, form arayüzlerinin hazırlanması, doğrulama kontrollerinin yapılması ve kodlanması… Membership API ve login kontrolleri ile gerekli tüm bileşenler hazır olarak gelir ve bir web sitesinde komple üyelik sistemi neredeyse kod yazmadan hazırlanabilir

Üyelik Sistemi: 

Üyelik Sistemi Üyelik API’leri Üyelik Verileri SQL Server ... Üyelik Sağlayıcılar Active Directory Login LoginStatus LoginView ... Kontroller Membership MembershipUser SqlMembershipProvider ActiveDirectory-MembershipProvider ...

Üyelik (Login) Kontrolleri: 

Üyelik (Login) Kontrolleri Login Password- Recovery LoginStatus LoginName LoginView CreateUser- Wizard Change- Password Üyelik ve Rol Yönetimi

Üyelik Sistemini Özelleştirme: 

Üyelik Sistemini Özelleştirme Özel ayarlarla kullanmak için web.config dosyasında bazı ayarlamalar gerekir <authentication mode="Forms"/> <membership> <providers> <remove name="AspNetSqlMembershipProvider"/> <add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" connectionStringName="LocalSqlServer" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" passwordFormat="Hashed" maxInvalidPasswordAttempts="3" minRequiredPasswordLength="5" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="2" passwordStrengthRegularExpression="" /> </providers> </membership>

Üyelik Sistemini Özelleştirme: 

Üyelik Sistemini Özelleştirme Varsayılan ayarlar machine.config dosyasında saklanmaktadır. web.config’de yapılacak ayarlar için bu dosyadaki bilgiler referans alınabilir Membership API’leri varsayılan olarak SQL Server Express Edition veritabanını kullanır SQL Server 2005 için hazır olarak gelen bir veritabanı bulunmaktadır

Üyelik Sistemini Farklı Veritabanları İçin Özelleştirme: 

Üyelik Sistemini Farklı Veritabanları İçin Özelleştirme SQL Server 2005 veritabanı ve tabloları için aspnet_regsql.exe ile uygun kurulum yapılmalıdır web.config’e ilgili veritabanı bağlantı elementi eklenmeli ve buna göre providers kısmındaki connectionStringName niteliğine değiştirilmelidir Eğer üye bilgilerini kendi veritabanımızda saklamak istersek MembershipProvider sınıfından bir sınıf kalıtarak miras alınan metotları ezmek(override) gerekecektir

Üyelik Sistemine Programatik Erişim: 

Üyelik Sistemine Programatik Erişim Üyelik sistemi sadece kontroller aracılığıyla değil, kendi tasarladığımız formlar aracılığıyla da kullanılabilir Membership sınıfı altında yer alan statik metotlar kullanılarak programatik erişim sağlanabilir Membership.ValidateUser("kullanici_adi", "sifre"); Membership.CreateUser("kullanici_adi", "sifre", "eposta_adresi"); Membership.DeleteUser("kullanici_adi"); …..

Rol Yönetimi: 

Rol Yönetimi Kullanıcılara rollerine göre erişim hakları belirleyip kolay bir şekilde site içi güvenlik sağlanabilir Web Site Admin Tool aracı ile roller oluşturma ve kullanıcıların rol yönetimleri kolayca gerçekleştirilebilir Rol yönetimini aktif etmek için web.config’e şu ifade eklenmelidir <roleManager enabled=”true”/>

Slide24: 

..... <location path=”AdminPage.aspx”> <system.web> <authorization> <allow roles=”admin” /> <deny users=”*” /> </authorization> </system.web> </location> ..... web.config Bir dosyaya belirli roldeki kullanıcıların erişmesini sağlamak <?xml version="1.0" encoding="utf-8" ?> <siteMap> <siteMapNode roles="*"> <siteMapNode title=“Anasayfa" url="~/Default.aspx" /> <siteMapNode title=“Ürünler" url="~/Urunler.aspx" roles="editor" /> <siteMapNode title=“Mağazalar" url="~/Magazalar.aspx" roles="admin" /> ..... web.sitemap Site haritasında yer alan linklere belirli roldeki kullanıcıların görmesini sağlamak

Slide25: 

Üyelik kontrolleri Rol yönetimi

Veritabanı İşlemleri: 

Veritabanı İşlemleri Varolan mimari aynen korunmakta ve programcının işini çok kolaylaştıran işlevler gelmektedir Yeni kontrollerle birlikte karmaşık işlemler dahi çok kısa şekilde gerçekleştirilmektedir Veri sayfalama, sıralama, seçme, ekleme, güncelleme, silme işlemleri… gibi

Veri Kontrolleri: 

Veri Kontrolleri Gelişmiş veri kontrolleri: GridView, DetailsView, FormView Gelişmiş özellikler ile kolon ekleme, güncelleme, ekleme şablonlarını özelleştirebilme Olaylar aracılığıyla ele alınan satırları güncelleyebilme

Data ve DataSource Mimarisi: 

Data ve DataSource Mimarisi Sql- DataSource Object- DataSource Access- DataSource Xml- DataSource SiteMap- DataSource SQL Veritabanları Her tür Veri Access Veritabanları XML Site Haritası Dosyası Data Component Site Map Provider Veriye kolay erişimi sağlayan data source kontrolleri: SqlDataSource, AccessDataSource, ObjectDataSource… Gelişmiş Command ve Parametre yapısı sayesinde kolay sorgulamalar gerçekleştirebilme

Slide29: 

Veri kontrolleri

Takip Edilmesi Gerekenler: 

Takip Edilmesi Gerekenler .NET Framework 3.5 ve ASP.NET 3.5 ASP.NET Futures paketi ASP.NET AJAX ve Control Toolkit Visual Studio 2008(Orcas) SilverLight ve Expression Studio ürünleri

Kaynak: 

Kaynak http://www.msakademik.net http://www.nedirtv.com http://www.yazgelistir.com http://www.aspnedir.com http://www.csharpnedir.com http://www.asp.net http://www.turkaspx.net

turkaspx.net: 

turkaspx.net Teknik konular içeren .NET günlüğü Başta ASP.NET olmak üzere .NET ile ilgili önemli konular, ipuçları ve gelişmeleri bulabilirsiniz Editörler Burak BATUR Burak Selim ŞENYURT Emrah USLU Uğur UMUTLUOĞLU

Slide33: 

Soru – Cevap Teşekkürler…

Slide34: 

Uğur UMUTLUOĞLU E-posta: ugur.umutluoglu@netron.com.tr ugur@nedirtv.com Site: http://www.umutluoglu.com http://umutluoglu.blogspot.com