2011-10-01 9 views
10

Oto mój plik strony wzorcowej. Potrzebuję pAss strName, id, url, startime itp. Zmiennych na stronie Child. Wiem, że możemy napisać tę logikę również na naszej stronie podrzędnej. Ale chciałbym uzyskać dostęp do tej strony wzorcowej tylko na stronie podrzędnej. Proszę zasugeruj. Nie mogę zapisać tej logiki w każdej metodzie set/get. Podczas uzyskiwania dostępu do tych zmiennych na stronie podrzędnej otrzymuję wartości null. w zasadzie tutaj nazywa pageload mistrz kiedy po wzywa pageload dziecko ponadDostęp do zmiennych strony wzorcowej na stronie podrzędnej w asp.net

1) strony wzorcowej NAZWA: MyMasterPage

public partial class MyMasterPage: MasterPage 
{ 
    public string strName = string.Empty; 
    public string id= string.Empty; 
    public string url = string.Empty; 
    public string startTime = string.Empty; 
    public string endTime = string.Empty; 
    public string remoteUrl = string.empty; 

    public void Page_Load(object sender, EventArgs e) 
    { 

     DataTable dtEventTable = DataAccessManager.GetEventInfo(Connection); 

     if (dtEventTable.Rows.Count > 0) 
     { 
       strName = dtEventTable.Rows[0]["NAME"].ToString(); 
       id = dtEventTable.Rows[0]["ID"].ToString(); 
       url= dtEventTable.Rows[0]["URL"].ToString(); 
       starttime = dtEventTable.Rows[0]["starttime"].ToString(); 
       endtime = dtEventTable.Rows[0]["endtime"].ToString(); 
       remotelive = dtEventTable.Rows[0]["remotelive"].ToString(); 
       // assume that strName = "TCG",id=5, startime=20111001 etc. 
     } 
    } 
} 
+2

Co dzieje się z tym wątkiem? - http://stackoverflow.com/questions/7619342/access-master-page-variable-to-child-page – adatapost

Odpowiedz

-3

Można użyć Session [] obiektu do osiągnięcia zmienne z innej strony.

+0

-1: nie, nie możesz. –

+0

dlaczego? Czy możesz wyjaśnić, proszę? Chcę się uczyć ... –

+0

Ponieważ 'Sesja' nie ma nic wspólnego ze zmiennymi z innej strony. –

0

Znaleziony to przez Ramesh T na https://forums.asp.net/post/5557778.aspx

U lepiej stworzyć silnie wpisany odniesienie do ur stronie wzorcowej dodając dyrektywę @ MasterType ur treści (strona aspx), jak pokazano poniżej

<%@ MasterType virtualPath="~/MasterPage1.master"%> 

i dostęp do swoich członków na stronie aspx lub kodu za (aspx.cs) jak poniżej

var test1Text = Master.test1; 

W ten sposób nie trzeba przesyłać.

Powiązane problemy