Bu site emekli olmuştur. Arşiv amaçlı olarak BT AKADEMİ sponsorluğunda yayın hayatına devam etmektedir.




C#nedir?com
 
YAZAR HAKKINDA
Mustafa Erhan Ersoy
Mustafa Erhan Ersoy
http://www.csharpnedir.com/
İletişme geçmek için tıklayın.
14 Makalesi yayınlanmakta.
Yazar hakkında detaylı bilgi için tıklayın.
Yayınlanan diğer makaleleri için tıklayın.
İlgili etiketler: baslik datalist kaynak kodunu kontrolleri kontrollerini kullanici makalemizde private protected public return sayfamizin sender string ASP.NET Mustafa Erhan Ersoy
 
YAZI HAKKINDA
Türü : Makale
Serbest Köşede C#nedir?com üyelerinin hazırladıkları yazılar yayınlanır. Bu yazılar editör incelemesine girmeden yayınlanır.
Seviyesi : Orta
Kategori : ASP.NET
Yayınlanma Tarihi : 16.9.2004
Okunma Sayısı : 37239
Yorum Sayısı : 0     yorum yaz
Site İçi AramaSİTE İÇİ ARAMA
Üye Girişini AçÜye GİRİŞİ
Üye girişi için tıklayın.
Kullanıcı Adı
Şifre
 
Beni her zaman hatırla
Bir hafta boyunca kullanıcı bilgilerinizi kullanıcı çıkışı yapana kadar hatırlar. (Paylaşılan bilgisayarlarda önerilmez.)
 
Şifremi / Kullanıcı Adımı unuttum.
 
.net TV RSS Serbest KÖŞE (?)
Serbest Köşede C#nedir?com üyelerinin hazırladıkları yazılar yayınlanır. Bu yazılar editör incelemesine girmeden yayınlanır.
emre TAŞ
Silindi
emre TAŞ
yazının devamı >
emre TAŞ
silindi
emre TAŞ
yazının devamı >
emre TAŞ
silindi
emre TAŞ
yazının devamı >
emre TAŞ
silindi
emre TAŞ
yazının devamı >
emre TAŞ
silindi
emre TAŞ
yazının devamı >
Makale Gönder Bende Yazmak İstiyorum
.net TV RSSBlogroll
Turhal Temizer
Conda install environment.yml Package 21.11.2024
Turhal Temizer
Mac OS/X Removing CUDA 21.11.2024
Burak Selim Şenyurt
Rust ile ECS Yaklaşımını Anlamak 21.11.2024
Burak Selim Şenyurt
Birlikte Rust Öğrenelim Serisi 21.11.2024
  Diğer Herşey
Sponsorlar
BT Akademi
Medya Portakal
Video Hosting Sponsoru
Csharpnedir.com bir Ineta üyesidir
Uzman Abi
Her Yönüyle C# - Sefer Algan
Web Kullanıcı Kontrolleri ile Site Taslağı Hazırlamak
 
Kapat
Sayfayı Yazdır Sık Kullanılanlara Ekle Arkadaşıma Gönder MySpace Del.Ico.Us Digg Facebook Google Mixx Reddit StumbleUpon
Web tasarım yaparken, sitenin görsel bütünlüğünü korumak ve site genelinde tekrar eden parçaları daha rahat kullanabilmek için değişik teknikler kullanılır.

ASP Include direktifi
ASP.NET Web Kullanıcı kontrolleri
ASP.NET Whidbey     Master Pages
Bu makalemizde kullanıcı kontrollerini ele alacağız. Ve yaklaşık 10 dakika kadar sürede web sitemize altyapı hazırlayacağız.

Öncelikle bir ASP.NET projesi açıp projeyi aşağıdaki şekilde hazırlayalım. (Projeye web kullanıcı kontrolü eklemek için Solution Explorer’dan projeye sağ tıklayıp Add->Add User Web Control...’ü seçin.)

Proje görünümü
Resim 1. Solution explorerdan proje görünümü. Web kullanıcı kontrolleri aspx sayfalarına eklendiklerinden dolayı sayfanın bir alt kümesidirler. Dolayısıyla <html>, <body> yada <form> (ASP.NET sayfalarında sadece bir tane form etiketi bulunur.) gibi etiketleri içermezler. Şimdi hızlı bir şekilde projeye eklediğimiz 4 kullanıcı web kontrolünü oluşturalım.

Öncelikle sayfanın başlık ve taban kısımlarını tasarlayalım.
Header.ascx kullanıcı web kontrolünün HTML kaynak kodunu açıp aşağıdaki kodu yazalım :

<%@ Control Language="c#" AutoEventWireup="false" Codebehind="Header.ascx.cs" Inherits="KullaniciKontrolleri.UserControls.Header" TargetSchema="http://schemas.microsoft.com/intellisense/ie5"%>
<table width="100%" height="100%" bgcolor="#99ccff">
   <tr valign="middle">
   <td align="center">
         <asp:Label id="lblHeader" runat="server" Font-Bold="True" ForeColor="White" Font-Size="X-Large"></asp:Label>
      </td>
   </tr>
</table>

Başlık kullanıcı kontrolü
Resim 2. Başlık kullanıcı kontrolü. Aynı kodu Footer.ascx kontrolümüzede yazıp iki kontrolümüzün görsel tasarımını yapalım. Şimdi kullanıcı kontrolümüze basit bir özellik tanımı ekleyip site başlık ve dip notlarına ilişkilendirelim.
Aşağıdaki kod ile header.ascx kontrolümüzde bulunana label web sunucu kontrolüne başlık ekliyoruz.

private void Page_Load(object sender, System.EventArgs e)
{
   // Sayfa basliginin eklenmesi :
   this.lblHeader.Text = this._headerText;
}

private string _headerText = "";

public string HeaderText
{
   set { this._headerText = value; }
   get { return this._headerText; }
}
Benzer işlemi Footer.ascx kontrolümüz içinde yapalım. Böylece sitemiz için hazırladığımız başlık ve taban kontrolleri tamamlandı. Şimdi menu.ascx kullanıcı kontrolünü açalım ve aşağıdaki gibi bir datalist kontrolü ekleyelim. Datalist kontrolümüze sağ tıklayıp "Edit Template->Item Template" i seçip bir hiperlink kontrolü ekleyelim. Şimdi kullanıcı kontrolümüzün HTML kaynak kodunu açıp eklediğimiz hiperlink kontrolünün kodunu (menüyü dinamik olarak oluşturmak için) aşağıdaki şekilde değiştirelim :

<asp:HyperLink id=HyperLink1 runat="server" NavigateUrl=’<%# DataBinder.Eval(Container, "DataItem", "../{0}.aspx") %>’ Text=’<%# DataBinder.Eval(Container, "DataItem") %>’>
</asp:HyperLink>

Menü kullanıcı kontrolü.
Resim 3. Menü kullanıcı kontrolü. Şimdi dışarıdan eklenecek menü içeriğini datalist kontrolümüze bağlayacak(bind) kodumuzu yazıyoruz :

private void Page_Load(object sender, System.EventArgs e)
{
   // Menüyü olusturuyoruz :
   dlstMenu.DataSource = this._menuItems;
   dlstMenu.DataBind();
}

private string[] _menuItems;

public string[] MenuItems
{
   set { this._menuItems = value; }
   get { return this._menuItems; }
}
Ve son olarak içeriğin bulunacağı kontrolümüzü aşağıdaki şekilde tasarlıyoruz :

<%@ Control Language="c#" AutoEventWireup="false" Codebehind="Content.ascx.cs" Inherits="KullaniciKontrolleri.UserControls.Content" TargetSchema="http://schemas.microsoft.com/intellisense/ie5"%>
<table width="100%" height="100%">
   <tr valign="top">
      <td>
         <asp:Label id="lblContent" runat="server" ForeColor="Black" Font-Size="Medium"></asp:Label>
      </td>
   </tr>
</table>
İçerik kontrolümüzün code-behind’ına ise aşağıdaki özelliği ekleyip sonradan eklenecek içeriği sayfamızdaki label kontrolüne yazalım :

public string ContentText
{
   set { this.lblContent.Text = value; }
   get { return this.lblContent.Text; }
}
Şimdi aspx sayfamızın HTML kaynak kodlarının body etiketini aşağıdaki gibi yazalım.

<body>
   <form id="Form1" method="post" runat="server">
      <TABLE id="Table1" height="100%" cellSpacing="1" cellPadding="1" width="100%" border="0">
      <TR height="100">
         <TD colSpan="2"></TD>
         </TR>
         <TR>
            <TD width="30%"></TD>
            <TD></TD>
         </TR>
         <TR height="70">
            <TD colSpan="2"></TD>
         </TR>
      </TABLE>
   </form>
</body>
Kullanıcı kontrollerimizi aşağıdaki gibi sayfamıza ekledikten sonra code-behind’a geçip kontrollerimize özelliklerinden ulaşıp dinamik olarak değer atayalım :

Sayfamızın genel görünümü
Resim 4. Sayfamızın genel görünümü.

protected KullaniciKontrolleri.UserControls.Header ucHeader;
protected KullaniciKontrolleri.UserControls.Footer ucFooter;
protected KullaniciKontrolleri.UserControls.Menu ucMenu;
protected KullaniciKontrolleri.UserControls.Content ucContent;

private void Page_Load(object sender, System.EventArgs e)
{
   // Sayfadaki kullanici kontrollerinin özelliklerini ekleyelim :
   this.ucHeader.HeaderText = "C#Nedir?Com - ASP.NET";
   this.ucFooter.FooterText = "Hazirlayan : Mustafa Erhan Ersoy [ 16/09/2004 ]";
   this.ucContent.ContentText = "Merhaba C#Nedir?Com okuyuculari ...";
   string[] menuItems = {"Anasayfa", "Makale", "Muzik"};
   this.ucMenu.MenuItems = menuItems;
}
Şimdi son olarak anasayfamız için yaptığımız işlemlerin aynısını diğer sayfalar içinde tekrarlayalım.

Projemizi çalıştırdığımızda sayfalarımız aşağıdaki şekilde olacaktır.

Site taslağımız
Resim 5. Sayfamızın tarayıcıdan görünümü.

Sonuç
Bu makalemizde kullanıcı web kontrollerini kullanarak hızlı bir şekilde site altyapısı nasıl hazırlanacağını göstermeye çalıştım. Örneği karmaşıklaştırmamak için görsel öğelerden olabildiğince kaçındım. Bu aşamadan sonra yapılması gereken her sayfa için ayrı ayrı içerik kullanıcı kontrolleri hazırlamak ve tabiki sitemizin görsel tasarımını biraz daha güzelleştirmektir.
Bu makalede gösterilen örneğin kaynak kodlarını buradan indirebilirsiniz.

Makale:
Web Kullanıcı Kontrolleri ile Site Taslağı Hazırlamak ASP.NET Mustafa Erhan Ersoy
  • Yazılan Yorumlar
  • Yorum Yaz
Bu konu hakkında yayınlanan yorum bulunmamaktadır.
"Yorum Yaz" tabını kullanarak sizde yorumlarınızı yazabilirsiniz.
Yorum yazabilmek için üye girişi yapmalısınız. Üye girişi için tıklayın.
Üye değilseniz Üyel Ol linkine tıklayarak üyeliğinizi hemen başlatabilirisniz.
 
  • Bu Konuda Son 10
  • Eklenen Son 10
  • Bu Konuda Geçmiş 10
Bu Konuda Yazılmış Yazılmış 10 Makale Yükleniyor
Son Eklenen 10 Makale Yükleniyor
Bu Konuda Yazılmış Geçmiş Makaleler Yükleniyor