Jak uzyskać dostęp do właściwości zdefiniowanej na mojej stronie wzorcowej z kodu w sterowniku?Uzyskiwanie dostępu do właściwości masterpage z poziomu usercontrol
Odpowiedz
Page.Master odsłania podstawową stronę wzorcową, jeśli istnieje.
var master = (this.Page.Master as SiteMaster);
if (master != null)
{
var myProperty = master.MyProperty;
}
this.NamingContainer.Page.Master.Property;
W sprawie swojej strony wzorcowej jest ustalona, niż można znaleźć kontroli i własności takiego:
MasterPageName mp =(MasterPageName) Page.Master;
//find a control
Response.Write((mp.FindControl("txtmaster") as TextBox).Text);
//find a property
Response.Write(mp.MyProperty.Text);
// na MasterPageName.cs
public TextBox MyProperty
{
get { return txtmaster; }
}
// na MasterPageName.Master
<asp:TextBox runat="server" ID="txtmaster"></asp:TextBox>
-1: nic nie powiedział o uzyskaniu dostępu do kontrolki –
Jeśli MasterPage jest tak,
public partial class MasterPage : System.Web.UI.MasterPage
{
protected void Page_Load(object sender, EventArgs e)
{
//
}
// the property which I would like to access from user control
public String MyName
{
get
{
return "Nazmul";
}
}
}
Następnie z kontrolą użytkownika, można uzyskać dostęp do "MyName" w ten sposób,
MasterPage m = Page.Master as MasterPage;
Type t = m.GetType();
System.Reflection.PropertyInfo pi = t.GetProperty("MyName");
Response.Write(pi.GetValue(m,null)); //return "Nazmul"
Aż zrozumiałem:
- Istnieje strona wzorcowa (MasterPage.master)
- stronę internetową (Default.aspx), która używa MasterPage.
- strona ma kontrolę użytkownika.
- Teraz chcesz uzyskać dostęp do właściwości strony MasterPage z tego formantu użytkownika.
Powiedzmy w MasterPage istnieje właściwość o nazwie nazwa jak
public string Name{ get{return "ABC";} }
Teraz chcesz mieć dostęp do tej właściwości z UserControl.
W tym celu najpierw musisz zarejestrować stronę wzorcową w kontrolce użytkownika w ten sposób.
<%@ Register TagPrefix="mp" TagName="MyMP" Src="~/MasterPage.master" %>
Teraz trzeba najpierw uzyskać odwołanie strony ta kontrola użytkownik przebywa w, a następnie dostać Master stronie tej strony. Kod będzie taki.
System.Web.UI.Page page = (System.Web.UI.Page)this.Page;
MasterPage1 mp1 = (MasterPage1)page.Master;
lbl1.Text= mp1.Name;
- 1. Uzyskiwanie dostępu do ResourceDictionary z WPF UserControl
- 2. ASP.NET: Wywołanie funkcji w MasterPage poprzez UserControl
- 3. Uzyskiwanie dostępu do metadanych Greasemonkey z poziomu twojego skryptu?
- 4. Uzyskiwanie dostępu do zmiennych instancji kontrolera z poziomu kontrolera rspec
- 5. Django: uzyskiwanie dostępu do instancji modelu z poziomu programu ModelAdmin?
- 6. Uzyskiwanie dostępu do "bieżącej klasy" z niestandardowego MarkupExtension WPF
- 7. Uzyskiwanie dostępu do modelu z szablonu
- 8. asp.net Właściwości UserControl
- 9. Uzyskiwanie dostępu do UITabBarController z UIVIewController
- 10. Uzyskiwanie dostępu do obiektów z innego procesu
- 11. Uzyskiwanie dostępu do właściwości w pliku prepareForSegue elementu UIViewController
- 12. Uzyskiwanie dostępu do właściwości statycznych w Sencha Touch
- 13. Uzyskiwanie dostępu do właściwości konstruktora bez tworzenia nowej instancji
- 14. Uzyskiwanie dostępu do pól formularza jako właściwości w widoku django
- 15. Uzyskiwanie dostępu do właściwości ukrytych przez __defineGetter __/__ defineSetter__ w JavaScript
- 16. Uzyskiwanie dostępu do ScrollViewer ListBox z C#
- 17. WPF, aktualizowanie paska stanu w oknie głównym z poziomu UserControl
- 18. Uzyskiwanie dostępu do właściwości tary w instrukcjach Google javascript API
- 19. Uzyskiwanie dostępu do wartości właściwości obiektu w programie PowerShell
- 20. Uzyskiwanie dostępu do nazwy klasy i właściwości wewnątrz atrybutu
- 21. Uzyskiwanie dostępu do podzbiorów należących do agregatów
- 22. WPF powiązanie właściwości usercontrol z rodzicielską właściwością
- 23. Formularz dostępu z poziomu Angular $ mdDialog
- 24. Wykrywanie i uzyskiwanie dostępu do urządzenia USB z poziomu przeglądarki internetowej - korzystając z wtyczki
- 25. Uzyskiwanie dostępu do usługi Azure MySQL
- 26. Uzyskiwanie dostępu do komponentów .NET z Powershell
- 27. Uzyskiwanie dostępu do metadanych z mp3 Python
- 28. Uzyskiwanie dostępu do FacesContext z usługi WWW
- 29. Uzyskiwanie dostępu do indeksu z drzewa wyrażeń
- 30. Uzyskiwanie dostępu do pól z obiektu Proxied
Nie ma [ 'dyrektywa MasterType'] (http://msdn.microsoft.com/en-us/library/ms228274.aspx) dla formantu użytkownika, jak sądzę? –
Typ lub przestrzeń nazw SiterMaster nie można znaleźć – Johan
@Johan, tak, to jest rzeczywisty typ strony wzorcowej. Na przykład, jeśli masz Site.Master, użyj SiteMaster, jeśli masz FooBar.Matser, a następnie użyj FooBarMaster, ... –