2009-01-06 18 views
13

Ana sayfa kullanan bir içerik sayfasında bulunan bir kullanıcı denetiminden (tercihen) bir ana sayfayı güçlü bir şekilde yazmak için bir yol arıyorum.Bir kullanıcı sayfasından nasıl bir kullanıcı kontrolüne başvurulur?

Ne yazık ki, bir kullanıcı denetiminde bu kullanamazsınız:

<%@ MasterType VirtualPath="~/Masters/Whatever.master" %> 

Ben kullanıcı denetimi ana sayfasının bir özelliğe erişmeye çalışıyorum ve oldukça mülk geçmek olmazdı Birden çok içerik sayfası aynı kullanıcı denetimini kullandığından, ana sayfa kullanıcı sayfasındaki içerik sayfasına yönlendirir. Bir değişiklik, bir yer değil.

+0

"Master" adlı kullanıcı denetimine bir özellik ekleme ve kontrol açıklandığında yalnızca bir referans iletme hakkında ne dersiniz? – Kevin

+0

Herhangi bir referansı kontrol yoluyla iletmekten kaçınmaya çalışıyorum ama iyi bir öneri. –

cevap

18

Page.Master ürününü deneyin.

Whatever whatev = (Whatever)Page.Master; 

Size dosyanın başına doğru using ifadeleri eklemek veya Usta sayfa türü inline hak emin olmak gerekir.

Bu denetim, ana sayfasının aynı türde OLMADIĞI farklı bir sayfa tarafından kullanılıyorsa, olası bir hata var. Bu sadece çalışma zamanında yakalanırdı.

+1

Sadece netleştirmek için Ana sayfanızın gerçekte ne olursa olsun (yukarıda). Yani, varsayılan ana sayfa türü adı ile kullanabilirsiniz ... SiteMaster masterPage = (SiteMaster) Page.Master; http://stackoverflow.com/questions/4013343/access-master-page-public-method-from-user-control-class-page – DeveloperDan

0

Usercontrol'de Page.FindControl ("name") denediniz mi?

0

Bulduğum şeyi yapmanın en iyi yolu, gerçekten UserControl temelli bir özel sınıf oluşturmaktır, bunu bir ana özelliğe sahip olan bir erişim aracıyla birlikte verir. ana sayfalarla karşılaşma (Yuvalama yapıyorsanız, bu adım gereksizdir) ve ardından web denetimini kullanmak istediğiniz ana sayfanın türü olarak döndürür. Ardından, yeni bir kullanıcı denetimi eklediğinizde, temel sınıfınızı özel sınıfınızın adına değiştirin. .Master özelliği, kullanmak istediğiniz ana sayfa olarak erişilebilir ve uygun bir şekilde yayınlanır.

İlgili konular