Monster Notebook
 
Şimdi Üye Ol | Şifremi Unuttum
Ana SayfaSanalkurs.netProgramlarSanalkurs.netÖnemli SitelerSanalkurs.netYazarlarSanalkurs.netDers EkleSanalkurs.netE-DergiSanalkurs.netBlog Sanalkurs.netİletişimSanalkurs.netForum
 
Anasayfa » ASP.net (59 ders)
 
MasterPage ile Sayfa Tasarımı, TreeView ile Menü Yapımı ve SiteMap ile Site Haritası Oluşturma

Yazar: Mustafa Çiçek  
Eklenme: 23.04.2009   Okunma: 4427   Seviyesi:  Başlangıç
 
Bu makalemde Asp.Net'de bir web sayfasının genel olarak nasıl oluşturulduğunu göreceğiz.

Merhaba arkadaşlar. File|New|Web Site ile bir Asp.Net/C# projesi oluşturarak başlıyoruz.

Projemizi oluşturduğumuzda Solution Explorer'a Default.aspx olarak gelen sayfamızı üzerinde sağ tıklayıp Delete komutunu vererek siliyoruz.

Şimdi adım adım sayfalarımızı oluşturalım.

Bu adımda MasterPage dediğimiz sayfamızı oluşturacağız. Peki nedir bu MasterPage? MasterPage sitemizin ana kalıbını bulunduran sayfamızdır. Ne demek bu? Ör; Normal WebForm sayfamızda bir menü yaptık varsayalım. Bu sayfadaki menümüzden başka bir sayfaya link verdik. Kullanıcı linke tıkladı ve diğer sayfaya gitti, baktı ki bu sayfada menü felan yok çünkü biz menüyü önceki sayfada yaptık, geri nasıl gidicek bu kullanıcı? İşte burada MasterPage imdadımıza koşuyor. Bu menüyü MasterPage içerisinde yaptığımızda diğer sayfalardan erişimimizde mümkün oluyor. Bunun nasıl olduğunu makalenin sonunda eminim daha iyi anlayacaksınız.

Şimdi sayfamıza WebSite | Add New Item ile yeni bir MasterPage sayfası ekliyoruz.

http://resim.sanalkurs.net/uploads/2009_04_23_082056.jpg

Bunun ismini istediğiniz gibi değiştirebilirsiniz. Ben burada varsayılan olarak atadığı ismi kullanacağım.

http://resim.sanalkurs.net/uploads/2009_04_23_083228.jpg

Sayfamız Solution Explorer'a bu şekilde eklenecektir.

MasterPage'i ekledikten sonra yukarıdaki resimde olduğu gibi bir sayfa gelecektir. Bu sayfada yer alan ContentPlaceHolder nesnesi bizim ihtiyacımızı karşılayacak olan nesnedir. Nasıl olduğunu sonraki adımlarda daha rahat göreceğiz.

Şimdi MasterPage sayfamızın basit bir tasarımını yapalım.

http://resim.sanalkurs.net/uploads/2009_04_23_083144.jpg

Burada eklediğimiz nesneleri açıklamak gerekirse; TreeView bizim sayfamızın menüsünü oluşturacak nesnedir. SiteMap site haritasını gösteren nesnedir. ContentPlaceHolder'da MasterPage'imiz içinde diğer sayfalardan erişebileceğimiz içerik bölümüdür.

Sayfamızın html taglari;

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>TreeView ile Menü Yapıyoruz</title>
    <asp:ContentPlaceHolder id="head" runat="server">
    </asp:ContentPlaceHolder>
</head>
<body>
    <form id="formicerik" runat="server">
    <div>
        <table align="center" width="700" border="1">
            <tr>
                <td colspan="2" style="text-align: center">
                    <h2>
                        Asp.Net TreeView ile Menü Yapımı</h2>
                </td>
            </tr>
            <tr>
                <td colspan="2">
                    <asp:SiteMapPath ID="SiteMapPathHaritaNesnesi" runat="server">
                    </asp:SiteMapPath>
                </td>
            </tr>
            <tr>
                <td width="150">
                    <asp:TreeView ID="TreeViewMenuNesnesi" runat="server" 
                        DataSourceID="SiteMapDataSource">
                    </asp:TreeView>
                    <br />
                    <asp:SiteMapDataSource ID="SiteMapDataSource" runat="server" />
                </td>
                <td width="450">
                    <div>
                        <asp:ContentPlaceHolder ID="iceriksayfasiCPH" runat="server">
                        </asp:ContentPlaceHolder>
                    </div>
                </td>
            </tr>
        </table>
    </div>
    </form>
</body>
</html>


2. Bu adımda diğer sayfalarımızı oluşturacağız. Yine Web Site|Add New Item ile yeni bir WebForm ekliyoruz.

http://resim.sanalkurs.net/uploads/2009_04_23_083422.jpg

Bu adımda dikkat etmemiz gereken bir nokta var. Normal WebForm'ları eklerken Select master page seçeneğini işaretlemiyorduk. Ama bu sefer bunu işaretlememiz gerekiyor. Çünkü eklenecek olan bu sayfa MasterPage kalıbı içinde yer alacak. Bu seçeneği işaretledikten sonra Add butonuna tıklıyoruz.

Şimdi karşımıza gelen pencere bize MasterPage sayfamızı belirmemizi istiyor. Burada sayfamıza eklediğimiz MasterPage'ler görünüyor. Birden fazlada MasterPage kullanmak mümkündür. Bunun için bir sınırlama yok. Bunuda seçtikten sonra OK butonuna tıklıyoruz.

http://resim.sanalkurs.net/uploads/2009_04_23_083523.jpg

Bu şekilde aynı işlemi yaparak "Anasayfa.aspx", "Dokumanlar.aspx", "Giris.aspx", "Hakkimizda.aspx", "Makaleler.aspx" şeklinde 5 tane sayfa ekliyoruz. Siz isteğinize göre istediğiniz sayıda sayfa ekleyebilirsiniz.

Burada eklediğimiz bir sayfanın görünümünü inceleyelim. Gördüğünüz gibi sayfada ContentPlaceHolder(iceriksayfasiCPH) dışında başka bir bölgeye etki edemiyorsunuz. Çünkü diğer kısımları MasterPage içinde yaptık. ContentPlaceHolder ile de kullanıcının diğer sayfalardan etki edeceği alanı belirledik. Eğer bu tasarımı WebForm'larda yapsaydık birini güncellediğimizde diğerlerinide tek tek güncellememiz gerekecekti. Ama MasterPage'de böyle bir olay yok. Genel olduğu için MasterPage'de yaptığınız değişiklikler bütün sayfalarda aynen uygulanır. Buda kullanışlığının ayrı bir avantajı&#8230;

Burada altı kırmızı ile çizili olan taglari sayfa eklendiğinde kendi atıyor. Bunların ID'lerini istediğimiz gibi değiştirebiliriz. "head" yazan bildiğimiz head tagidir. Diğeride içeriği barındıracak kısımdır.

http://resim.sanalkurs.net/uploads/2009_04_23_083800.jpg

Sayfalarımızı eklediğimizde bu şekilde bir görünüm elde edeceğiz.

http://resim.sanalkurs.net/uploads/2009_04_23_084306.jpg

3. Bu adımda sitemizin haritasını oluşturacağız. Bunun için ilk olarak Website| Add New Item ile bir tane SiteMap nesnesi ekliyoruz.

http://resim.sanalkurs.net/uploads/2009_04_23_095504.jpg

Add dedikten sonra Solution Explorer'da bu şekilde görebiliriz.

http://resim.sanalkurs.net/uploads/2009_04_23_095531.jpg

Şimdi sıra SiteMap içinde sitemizin haritasını çıkarmaya. Bunun için Web.sitemap üzerinde çift tıklıyoruz ve aşağıdaki gibi düzenliyoruz.

<?xml version="1.0" encoding="utf-8" ?>
<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >
  <siteMapNode url="Anasayfa.aspx" title="Anasayfa"  description="">
    <siteMapNode url="Giris.aspx" title="Giriş"  description=""/>
      <siteMapNode url="Dokumanlar.aspx" title="Dökümanlar"  description="" />
      <siteMapNode url="Makaleler.aspx" title="Makaleler" description=""/>
    </siteMapNode>
    <siteMapNode url="Hakkimizda.aspx" title="Hakkımızda" description=""/>
  </siteMapNode>
</siteMap>


Burada url; sayfanın adı, title; menünün adı; description; menünün üzerinde geldiğimizde çıkacak açıklamadır.
Anamenüyü <siteMapNode url=""> </siteMapNode> şeklinde yaptık. Bunun alt menülerini oluşturmak içinde bu taglerin arasına <siteMapNode url=""/> şeklinde alt menüleri belirttik. Yani kategorileme gibi alt menüyü içde anamenüyü dışta belirttik.

+ Anasayfa
++ Giriş
+++ Dökümanlar
+++ Makaleler
++ Hakkımızda

4. Bu kısımda haritamızı menü nesnelerimiz ile bağlayacağız. Bunun içinde sayfaya Toolbox'dan SiteMapDataSource nesnesini ekliyoruz.

http://resim.sanalkurs.net/uploads/2009_04_23_084446.jpg

Bunu ekledikten sonra TreeView nesnesini seçtikten sonra sağ üst köşesinde bulunan küçük ok simgesine tıklıyoruz. Buradan açılan menüde Choose Data Source kısmında veri kaynağını belirtiyoruz. Buda saydamıza daha önce eklediğimiz SiteMapDataSource olarak belirliyoruz. Daha sonra menümüzün direk olarak oluştuğunu görüceksiniz.

http://resim.sanalkurs.net/uploads/2009_04_23_084703.jpg

Burada aklınıza şöyle bir soru gelebilir. Peki bu olayı SiteMap nesnesi için neden yapmadık. Çünkü SiteMap nesnesi sayfa çalıştığında otomatikmen bunu çekecektir. Bu arada sayfaya eklediğimiz SiteMap nesnesi ile Solution Explorer'daki SiteMap'ı karıştırmatın. Birisinde harita oluşturulurken diğeri haritayı sayfada gösterir.

5. Bu adımda sitemizin başlangış sayfamızı belirleyip sitemizin nasıl çalıştığına bakacağız. Bunun için Solution Explorer'daki Anasayfa.aspx üzeirnde sağ tıklayarak Set as Start Page'e tıklıyoruz.

http://resim.sanalkurs.net/uploads/2009_04_23_084813.jpg

Solution Explorer'daki sayfalarımızında en son görünümü resimdeki gibidir.

http://resim.sanalkurs.net/uploads/2009_04_23_085421.jpg

http://resim.sanalkurs.net/uploads/2009_04_23_084953.jpg

Bu makalemiz bu kadar. Görüşmek üzere...

Kaynak dosyayı indirmek için tıklayın

 

 

MasterPage ile Sayfa Tasarımı, TreeView ile Menü Yapımı ve SiteMap ile Site Haritası Oluşturma Dersini Yazdirin YAZDIR

"MasterPage ile Sayfa Tasarımı, TreeView ile Menü Yapımı ve SiteMap ile Site Haritası Oluşturma" dersi için 15 yorum var

25.04.2009 gayenur_373 diyor ki:
biz if ..then,if tehen else ,select case,for next,for each next,while end while,do while loop ve alt programlamayı yeni öğrendik bana bu komutlarla ilgili örnekleriniz varsa yardım edin

25.04.2009 firatboyan diyor ki:
Çok Başarılı bir anlatım olmuş terbrikler..

26.04.2009 mstfcck diyor ki:
gayernur_373: Bunlar ile ilgili sitede benim olsun diğer arkadaşların olsun birçok örnek makelesi var. C# kategorisini bi gezerseniz bulabilirsiniz. Ayrıca istediğiniz bir konu varsa bunu da belirtin yardımcı olucak çok kişi var.

22.05.2009 new_in diyor ki:
tesekkurler..

05.06.2009 conseguireee diyor ki:
BİRİ YARDIM EDEBİLİRMİ?? Master pageyi oluşturduktan sonra yeni bir web form eklerken "select master page "seçeneği bende çıkmıyor sadece Name seçeneği var. Ne yapabilirim neden çıkmıyor.

05.06.2009 conseguireee diyor ki:
Böle bişiyi yazmadım sayın pleasee buldum çünkü

12.06.2009 sabancicek diyor ki:
merhaba asp.net 2.0 da menu kontrolunu kullanmayı anlatırsanız sevinirim

13.06.2009 mstfcck diyor ki:
Menü kontrolü derken hangisinden bahsediyorsunuz acaba ?

03.07.2009 cosmopolich diyor ki:
Ağzına Sağlık kardeş güzel bir ön sunum olmuş...

18.07.2009 womanizar diyor ki:
conseguireee sende master sayfayı manuel olarak ekle formlara
yapman gereken sadece page kısmına gerekli master page sayfasını tanıtmak

29.07.2009 kalimero_21 diyor ki:
Çok yararlı bir ders olmuş. Teşekkürler, emeğinize sağlık...

18.08.2009 obn85 diyor ki:
yazilima basladigimda desktop applicationlarda ilerlettim kendimi ama siteniz sayesinde asp.net e adim atiyorum tesekkurler

24.08.2009 BUKKK diyor ki:
cok iyi anlatım tesekurler

18.09.2009 deli_yürek diyor ki:
hocam ben bu uygulamayı yaptım fakat çalıştıramadım çalıştırdığım zamn bu <asp:TreeView ID="TreeViewMenuNesnesi" runat="server"
DataSourceID="SiteMapDataSource"
onselectednodechanged="TreeViewMenuNesnesi_SelectedNodeChanged"></asp:TreeView>

bu kısımda hata veriyo bunu nasıl düzelteceğimi bulamadım yardımcı olabilirsen çok sevinirim saygılar basarılar ...

29.09.2009 mstfcck diyor ki:
code behind kısmında TreeViewMenuNesnesi_SelectedNodeChanged olayı olmadığı için hata alıyorsun büyük ihtimal kontrol et bi de öyle dene

  BU DERSE YORUM EKLEYİN

Üye olmadan yorum ekleyemezsiniz !


UYARI: SANALKURS.net'te yer alan materyaller ile ilgili her türlü sorumluluk hazırlayan veya gönderene aittir. Yazarlar, gönderdikleri makale ve derslerle başkalarını yanıltıcı bilgi veremezler. SANALKURS.net bilgilerin kullanımı sonucunda doğacak hata ve zararlardan sorumlu tutulamaz. SANALKURS.net'te yer alan bir makale link vermek ve kaynak göstermek şartıyla başka bir sitede yayınlanabilir. SANALKURS.net kullanıcıları ve üyeleri, üçüncü kişilerin telif hakkı sahibi bulunduğu hiçbir yazı, fotoğraf, resim vb. materyal ve ürünü kullanamazlar. SANALKURS.net kullanıcı ve yazarlarının, üçüncü kişilerin telif hakkı sahibi olduğu yazı, resim vb. ürünleri izinsiz kullanması durumunda, her türlü hukuki ve cezai sorumluluk kendilerine aittir.
 İSTATİSTİKLER
XML Kaynağımızdan yararlanarak sitemizdeki derslerimizi masaüstünüzden yada web sitenizden takip edebilirsiniz
ÇEVRİMİÇİ 178 Ziyaretçi, 14 Üye
Keremel, bozoklar, NaRe_TuRKeY, ramones1982, sanalusta, s-R-c, Charisma_47, ertughaskan, deliler, hacoban, kerasus, mocaco3, siracel, BuRRaK
Bugün: 656, Dün: 10154, Bu Ay: 21023, Toplam Ziyaret: 7226835, Toplam Üye: 216260, Son Üye: nur_cihan
Yazılı Dersler: 2459, Video Dersler: 407, Toplam Yazar: 64, Toplam Dosya: 53, Toplam Link: 26
   
RSS Kaynağımızdan yararlanarak sitemizdeki derslerimizi masaüstünüzden yada web sitenizden takip edebilirsiniz