2016-03-29 11 views
0

Ich habe eine Anforderung, bei der ich den Wert des Seitentitels nur dann an das Facebook-Freigabe-Plug-In übergeben muss, wenn der Seitentitel auf der Inhaltsseite festgelegt wurde. Es gibt ein paar Seiten (Dynamic Data-Seiten), auf denen der Titel der Seite auf das Ereignis PreRender eines bestimmten Steuerelements gesetzt wird (ich kann das nicht ändern).Welches Ereignis wird auf der Masterseite ausgelöst, nachdem Inhaltsseiten gerendert wurden

Wenn ich den Titel der Inhaltsseite auf PreRender der Masterseite übergebe, wird der nicht festgelegte Wert zurückgegeben, da die Seite PreRender der Masterseite vor der Steuerung der Inhaltsseite PreRender ausgelöst wird. Ich habe versucht, den Wert in dem Unload Veranstaltung Seite Master vorbei, aber es hat nicht funktioniert! Wie erreiche ich das?

Also die Frage kann zusammengefasst werden als, führen Sie etwas auf der Masterseite, nachdem die Inhaltsseiten alle ihre Aufgaben durchgeführt haben und bereit sind, zu entladen.

Gibt es eine Möglichkeit, dies in der Masterseite selbst zu tun oder muss ich dies in den einzelnen Seiten tun?

Referenz: Events in ASP.NET Master and Content Pages

Dynamic Data Seite:

string Location = null; 
protected void DynamicFilter_PreRender(object sender, EventArgs e) 
{ 
    DynamicFilter Filter = (DynamicFilter)sender;  
    MetaColumn metaColumn = table.GetColumn(Filter.DataField);  
    QueryableFilterUserControl fuc1 = Filter.FilterTemplate as ForeignKeyFilter; 

    if (fuc1 != null && fuc1.FilterControl != null) 
    { 
     DropDownList ddl = fuc1.FindControl("DropDownList1") as DropDownList;     
     if (ddl != null) 
     { 
      if (metaColumn.DisplayName == "Location") 
      { 
       if (ddl.SelectedIndex != 0) 
       { 
        Location = ddl.SelectedItem.Text; 
       } 
      } 
     } 
    } 

    if (Location != null) 
    { 
     // set the page title based on the location    
     Page.Title = String.Format("Recent {0} Fares", Location); 
    } 
} 

Mit dieser Funktion wird der Inhalt Seite (eine dynamische Datenseite) Titel. Jetzt muss ich auf der Seite meines Herrn zu diesem Titel zugreifen erst, nachdem sie eingestellt wurde.

Master-Seite:

protected void Page_Load(object sender, EventArgs e) 
{ 
    // pass the value of page title to SocialNetworkingHelper class to do some work 
    SocialNetworkingHelper.SetSocialMediaMetaTag(this.Page, this.Page.Title); 
} 
+0

Was genau funktioniert nicht mit Unload? – Andrei

+0

Ich habe den Wert übergeben aber keine Änderungen wurden – ihimv

+0

Haben Sie versucht, es zu debuggen? Haben Sie sichergestellt, dass der Event-Handler tatsächlich ausgeführt wird? Das sollte in der Theorie funktioniert haben, also denke ich, dass etwas nicht stimmte mit der Art und Weise, wie du es gemacht hast. – Andrei

Antwort

1

Verwendung Seite Entladen Ereignis endgültige Bereinigung durchzuführen, Dateien wie Schließen, Speicher usw. Loslassen ... wenn Sie Seitentitel setzen hier wird es nicht gemacht werden .... Sie müssen Titel auf Steuerelement prerender Ereignis selbst setzen ...

Verwandte Themen