![]() | |
| | #1 (permalink) |
| Üye Üyelik Tarihi: 04/2007
Mesaj: 112
|
Merhaba Master sayfamda üsttaraftaki sabit menü için bir usercontrol oluşturdum. İstenens ayfaların türne böre bu menüde bazı linkler aktif/deaktif olacak Master sayfanın load olayında güncel sayfanın adını alıyorum. Bu noktadan sonra user control içindeki kontrollerin (linkbutton) bunları aktif pasif veya gizle/ göster yapmam lazım Master sayfadan alt sayfadaki kontroleri findcontrol ile kontrol etmek mümkün ama usercontrol içindkei controlere nasıl erişirim? Teşekürler |
| | |
| | #2 (permalink) |
| Varlığa izin veren boşluk Üyelik Tarihi: 04/2004 Yer: İstanbul
Mesaj: 2,824
|
UserControl de sonuçta Control den türediği için FindControl metodu onda da bulunmaktadır. Ama burada daha değişik bir yol tercih edebiliriz. UserControl ü bağladığımız nesneye public bir özellik ekleyebiliriz. public bool aktif = true; //gibi. Sonra o kontrolün Page_Load olayında bu özelliği kontrol edip, ona göre işlem yapabiliriz. Aynı zamanda bu şekilde tanımlanan özelliklere markup içinden de <benimkontrolum:Kontrol ID="kontrol1" runat="server" aktif="false"/> gibi de erişebiliriz.
__________________ Ceviz Viki | Vikipedi | VikiKitap | VikiKaynak | VikiSözlük | VikiSöz | Wikipedia | Wikibooks |
| | |
| | #3 (permalink) |
| Üye Üyelik Tarihi: 04/2007
Mesaj: 112
| TEŞEKKÜRLER hocam fikrinizi temel alarak kendimde mantık yürüterek hallettim privatevoid ButonlarinOzellikleriniYapinaldir() { Control ButonSeti = (Control)Page.Master.FindControl("ButtonSeti1"); Control KapaButonu = (Control)ButonSeti.FindControl("LinkButtonKapat"); KapaButonu.Visible = false; //Control yuklenecekkontrol = LoadControl("kendikontrolum.ascx"); //ButonSeti.LinkButtonKapat.Visible = false; } |
| | |
| | #4 (permalink) |
| Üye Üyelik Tarihi: 04/2007
Mesaj: 112
| KapaButonu.PostBackUrl = http://www.meb.gov.tr; KapaButonu adındaki controlün PostBackUrl özeliğini değiştriemiyorum hata veriyor. intellisense listelemiyor zaten bu özelliği. acep neden ? Olmazsa ikninci yolu denerim. |
| | |
| | #7 (permalink) |
| Varlığa izin veren boşluk Üyelik Tarihi: 04/2004 Yer: İstanbul
Mesaj: 2,824
|
Önceki mesajımda bir hata var, kullanıcı tarafından yazılan kontrolün markup kodundan müdahale edilebilir özellikleri olması için, public property tanımlamak gerekir. * Ayrıca ClassName özelliğine de kod tarafında Control gibi genel bir nesneye değil de o özelliği haiz bir nesneye çevrim yapabilmek için geçerli bir nesne ismi belirtilmelidir. * Çevrim Control nesnesine değil de o nesneye yapılmalıdır. Örneğin: kontrol.ascx Kod: <%@ Control Language="C#" ClassName="kontrol"%>
<script runat="server">
public bool Aktif
{
set {
linkbuttonDeneme.Enabled = value;
}
get {
return linkbuttonDeneme.Enabled;
}
}
</script>
<asp:LinkButton ID="linkbuttonDeneme" runat="server" Text="Deneme"/>
sayfa.aspx Kod: <%@ Page Language="C#"%> <%@ Register TagPrefix="kontrol" TagName="Deneme" Src="kontrol.ascx"%> <html> <head><title>Deneme</title></head> <body> <form runat="server"> <kontrol:Deneme ID="kontrol" runat="server" Aktif="false"/> </form> </body> </html> Kolay gelsin.
__________________ Ceviz Viki | Vikipedi | VikiKitap | VikiKaynak | VikiSözlük | VikiSöz | Wikipedia | Wikibooks |
| | |
| | #8 (permalink) |
| Üye Üyelik Tarihi: 04/2007
Mesaj: 112
|
Hocam çok teşekürler yazılarınızı uygulamya çalıştım ama beceremiyorum. Ama pes etmedim . Mutlaka bir şekilde yapacam bunu. http://www.csharpnedir.com/makalegoster.asp?MId=531 bu makaleyi anlamaya çalışacam sanırım sizinki ile pararlel |
| | |
| | #9 (permalink) |
| Varlığa izin veren boşluk Üyelik Tarihi: 04/2004 Yer: İstanbul
Mesaj: 2,824
|
Evet yazıda söylediklerimle paralellik var. UserControl içindeki iç kontrollere erişememe sebebimiz, markup dan üretilen C# kodunun, tüm kontrolleri "protected" olarak tanımlamasıdır. Ama bu makale senin yapmak istediğin şey için en pratik yolu içermeyebilir. Şimdi ilk sorunu yine okudum da, biz neden bu şekilde objelerle vs. uğraşıyoruz ki? UserControl ün bulunduğu sayfanın ismini, onun olayları içinde de alabilirsin. Bir Page_Load olayı tanımla. Ve içinde Request.ServerVariables["SCRIPT_NAME"] özelliğinin değerine bak. Sonuçta aynı Context üzerinden dönmüyor mu bu kontrol bize? Aynı nesne ağacının (Control Tree) parçası değil mi? Eğer sayfaya iliştirilmemiş bir kod arka planı üzerinde, o anda çağırılan sayfanın hangisi olduğunu öğrenmek istiyorsan şunu kullan : HttpContext.Current.Request.ServerVariables["SCRIPT_NAME"];//using System.Web; Klasik asp nin mirası :-)
__________________ Ceviz Viki | Vikipedi | VikiKitap | VikiKaynak | VikiSözlük | VikiSöz | Wikipedia | Wikibooks |
| | |
| | #10 (permalink) |
| Üye Üyelik Tarihi: 04/2007
Mesaj: 112
|
Hocam umarım birgün senin seviyene ulaşırım . 2256 mesajını görüncede bir üstatla muhattap olduğumu sanıyorum. Ben sorunumu şu şekilde çözdüm belki senin önerin kadar sofistike degil ama başlangıç için iyi. Umarım bir yıl sorna bu mesajlarını okur ve neden anlayamamışım diye tebüsümle anarım. usercontrolumun kodları publicpartialclassUser_Controls_ButtonSeti : System.Web.UI.UserControl { protectedvoid Page_Load(object sender, EventArgs e) { } publicbool Sayi { set { LinkButtonKapat.Visible = value; } get { return LinkButtonKapat.Visible; } } } masterpage regirter satırı <%@Registersrc="../User_Controls/ButtonSeti.ascx"tagname="ButtonSeti"tagprefix="uc1" %> marterpage load oalyında this.ButtonSeti1.Sayi = false; TEŞEKÜRLER USTA |
| | |
![]() |
| Bookmarks |
| Seçenekler | |
| |
Benzer Konular | ||||
| Konu | Konuyu açana göre | Forum | Cevap | En Son Mesaj |
| masterpage de masterpage.master çıkmıyor | cyilmaz | ASP | 0 | 22/06/2007 03:17 |
| MasterPage 'de Utf-8 Sorunu | audespare | ASP | 1 | 05/06/2007 12:12 |
| c# ile web sayfası kontrollerine erişim(?) | volkii | C# | 1 | 13/02/2007 14:58 |
| Hücrenin içindeki değere erişmek | derme | Javascript / DHTML / Ajax | 2 | 15/08/2006 17:27 |
| Theme in masterpage | fatihbil | ASP | 2 | 08/08/2006 21:20 |
| Reklamlar & Desteklenenler | |
| Hassas Valf | Hassas Kaplama | Antalyamız | Gazete | Ticari Bilişim | Hakan Müştak | Rüya Tabirleri | Kadın | Hastalıklar | Cepte msn ve e-posta | Webmaster | Antalya Aupair | Turkish Property Antalya | Forum | Chat | Perde | Adsl | Araba | bolindir.com | guncelle.com | livescore | Web Tasarım | evden eve nakliyat | forum | evden eve | sohbet | Resimcim| Kalifiye İnsan Kaynakları | Web Tasarım | Oyun | Yusuf KOÇ | Akın Yorulmaz | şiir | UFO | Web Tasarım | Oyunlar | Canlı Tv | |