2016-09-15 5 views
-1

Ich weiß, dass dies eine seltsame Situation ist, aber ich muss etwas tun, um die gleiche Seite nicht zweimal zu benötigen.Master-Seite für ein Webformular ein-/ausschalten

Ich habe ein Webformular, das über Popup öffnet, es hat derzeit keine Masterseite, weil es über das Hauptformular geöffnet wird.

Also mein Kunde sagte mir, ich muss es sowohl über dieses Popup öffnen, oder über ein Menü in der Nähe des Hauptformulars. Wenn ich es über das Menü öffne, öffnet es sich wie eine normale Seite und muss das Masterseitenlayout enthalten.

Ist das möglich?

+1

Nicht wahrscheinlich. Wenn eine Seite eine Inhaltsseite mit einem Master sein soll, enthält sie nicht das gesamte Markup, nicht einmal das Formular. Ohne Master wird diese Seite einfach nicht funktionieren. Sie können jedoch zwei verschiedene Masterseiten verwenden und zwischen ihnen wechseln, je nachdem, wie die Seite geöffnet wird. Dies ist sehr machbar – Andrei

+0

Ich denke, eine leere Masterseite erstellen und 'this.MasterPage =" myBlankMasterPage.cs "sollte funktionieren, dann? – Phiter

+0

Nicht ganz sicher. Ihre Seite muss geändert werden, um mit anderen Seiten vergleichbar zu sein. – Andrei

Antwort

0

Ich glaube, Sie haben zwei Möglichkeiten:

Set via Code:

protected override void OnPreInit(EventArgs e) 
    { 
     base.OnPreInit(e); 
     if(xy) 
     { 
     this.MasterPageFile = "~/MyMaster.Master"; //Path to masterpage '~' if rootfolder 
     } 
     else 
     { 
     this.MasterPageFile = ""; 
     } 
    } 

Verwendung Usercontrol:

Erstellen eines Usercontrol (ASCX), die die aktuelle Seite Code enthält . Erstellen Sie dann eine zweite Seite (ASPX) mit Masterpage und registrieren Sie das Steuerelement auf beiden Seiten.

Einige Informationen über Benutzersteuerelemente:

https://msdn.microsoft.com/en-us/library/y6wb1a0e.aspx?f=255&MSPPError=-2147217396 https://msdn.microsoft.com/en-us/library/sbz9etab.aspx

+0

Hat nicht funktioniert. Ich habe etwas anderes gemacht. – Phiter

-1

Ich hatte einen anderen Ansatz zu verwenden.

Ich habe alle Elemente auf der Masterseite (Kopfzeile, Fußzeile, Menü) zu runat=server gemacht und sie auf unsichtbar gesetzt, wo ich das Masterseitenlayout nicht wollte.

Es ist offensichtlich ein dreckiger Hack, aber es hat funktioniert.

Verwandte Themen