Yazılımcının Günlüğü | YazilimGunlugu.Com
Arama
Makale Kategorileri
Üye Girişi
Şuanki online üyeler()
Aktif üye bulunmamaktadır.


ASP.NET Custom Control Gelistirme - Popup Açtiran Button

Yazar: Sem GÖKSU

Kategori: ASP.NET

Eklenme Tarihi: 22.05.2007 02:04:21

Merhaba arkadaşlar, Bu makalemiz de farklı bir custom web controlü daha geliştireceğiz.
Popup Açtiran Button

Hemen hemen her web sitesinde kullandigimiz Popup pencereler bizi çok fazla ugrastirir. Her defasinda yeni bir javascript olusturup olusturdugumuz javascripti kontrollerin eventlerinde çagiririz. Bu hem bizi çok ugrastirir hemde çok fazla zaman kaybettirir. işte bu zaman kaybani önlemek için popup açtiran bir buton gelistirecegiz. Bir button olusturup bu butona tiklandiginda popup pencere açtiracagiz. Butonun ve açilacak olan bu pencerenin boyutlarini kullanici degistirebilecek. Simdi ilk olarak yeni bir WebControl Library projesi olusturalim.

Kodlamaya basliyalim;

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Text;

using System.Web;

using System.Web.UI;

using System.Web.UI.WebControls;

namespace PopupButton

{

[DefaultProperty("Text")]

[ToolboxData("<{0}:semPopupButton runat=server></{0}:semPopupButton>")]//kontrolümüze verilecek olan ID Tabiki kendi adimla basliyor (:

public class semPopupButton : WebControl

{

[Bindable(true)]

[Category("Appearance")]

[DefaultValue("")]

[Localizable(true)]

//Kontrolümüzün özelliklerini tutacak olan degiskenler

string _text;

string _windowName;

string _windowUrl;

string _windowWidth;

string _windowHeight;

string _buttonWidth;

string _buttonHeight;

//SemPopupButton adli bir özellik grubuna eklenecek bu özellik Açilacak olan Window’un URL’ni tutan bir özelliktir.

[Category("SemPopupButton"),

DefaultValue("WindowUrl"),

Description("Açilacak olan Popup Pencerenin URL'i")]

public string WindowURL

{

get

{

return _windowUrl;

}

set

{

_windowUrl = value;

}

}

//SemPopupButton adli bir özellik grubuna eklenecek bu özellik Açilacak olan Window’un Title’ni tutan bir özelliktir.

[Category("SemPopupButton"),

DefaultValue("WindowsName"),

Description("Açilacak olan Popup Pencerenin Title'i")]

public string WindowName

{

get

{

return _windowName;

}

set

{

_windowName = value;

}

}

//SemPopupButton adli bir özellik grubuna eklenecek bu özellik Açilacak olan Window’un genişliğini tutan bir özelliktir.

[Category("SemPopupButton"),

DefaultValue("PopupWidth"),

Description("Açilacak olan Popup Pencerenin genişliği")]

public string WindowWidth

{

get

{

return _windowWidth;

}

set

{

_windowWidth = value;

}

}

//SemPopupButton adli bir özellik grubuna eklenecek bu özellik Açilacak olan Window’un yüksekligini tutan bir özelliktir.

[Category("SemPopupButton"),

DefaultValue("WindowHeight"),

Description("Açilacak olan Popup Pencerenin yüksekligi")]

public string WindowHeight

{

get

{

return _windowHeight;

}

set

{

_windowHeight = value;

}

}

//SemButton adli bir özellik grubuna eklenecek bu özellik butonun textini tutan bir özelliktir.

[Category("SemButton"),

DefaultValue("TextName"),

Description("Butonn Text Özelligi")]

public string Text

{

get

{

return _text;

}

set

{

_text = value;

}

}

//SemButton adli bir özellik grubuna eklenecek bu özellik butonun genişliğini tutan bir özelliktir.

[Category("SemButton"),

DefaultValue("ButtonWidth"),

Description("Butonun genişliği")]

public string ButtonWidth

{

get

{

return _buttonWidth;

}

set

{

_buttonWidth = value;

}

}

//SemButton adli bir özellik grubuna eklenecek bu özellik butonun yüksekligini tutan bir özelliktir.

[Category("SemButton"),

DefaultValue("ButtonHeight"),

Description("Butonun Yüksekligi")]

public string ButtonHeight

{

get

{

return _buttonHeight;

}

set

{

_buttonHeight = value;

}

}

protected override void RenderContents(HtmlTextWriter writer)

{

try

{

string popupButton;

//Kontrolümüzü olusturuyoruz…

popupButton = "<input type='button' value='"

+ Text + "' style='width: "

+ ButtonWidth + "px; height: "

+ ButtonHeight+ "px' onclick=\"javascript:window.open('"

+ WindowURL + "', '"

+ WindowName + "','location=1,status=1,scrollbars=1,width="

+ WindowWidth + ",height=" + WindowHeight + "');\"/>";

writer.RenderBeginTag(HtmlTextWriterTag.Div);

writer.Write(popupButton.ToString());

writer.RenderEndTag();

}

catch

{

writer.RenderBeginTag(HtmlTextWriterTag.Div);

writer.Write("Popup Pencere...");

writer.RenderEndTag();

}

}

}

}

Kodumuzu tamamladik simdi testing için projemize bir web site ekleyelim. Ekledikten sonra Web Site’in referanslarina Projects sekmesinden WebControl Libraryi ekleyelim. Simdi toolbox’a bakalim eklenmismi (:

Kontrolümüz eklendi Simdi sayfamiza ekleyelim.

Simdi özelliklerimizi ayarlayalim.

Evet olusturdugumuz özellik gruplari geldi. Ve biz özelliklerimizi yazdik. Simdi projeyi çalistiralim. Ve butona tiklayalim (:

Bu makalemizinde de sonuna geldik. Tesekkür eder iyi çalismalar dilerim.

Sem GÖKSU
MCP | MCAD.NET | MCTS

Örnek Kodlar için mail adresimi kullanabilirsiniz
semgoksu@semgoksu.com

Kaynaklar

www.codeproject.com

Yazar Hakkında Yorum Yok Yorum Yaz Yazara ait diğer Makaleler
Tema
Anket
ASP.NET MVC'yi Projeleriniz de kullandınız mı?


En Çok Okunan Makaleler
En Son Eklenen Makaleler
Soru Merkezinde Bekleyenler
Ana Sayfa | Hakkımızda | Editörler | Yazarlar | RSS RSS | İletişim
Yazılım Günlüğü 2007-2009 © Tüm Hakları Saklıdır.