File DYNAMISCH includen :((

Saber

Erfahrenes Mitglied
Hallo nochmal!

Also das Einbinden einer Datei funktioniert im Prinzip schon recht gut, aber ich möchte das dynamisch machen. Bislang benutze ich den folgenden Quelltext:
Code:
<%@ Register TagPrefix="myProject" TagName="menu" Src="top.ascx" %>

Und an der Anzeigestelle dann:
Code:
<myProject:menu ID="Header1" runat="server" />

Jetzt möchte ich allerdings nicht alle Files einbinden, sondern immer nur eines. Das heisst, dass top.ascx ersetzt werden soll durch einen anderen Dateinamen. Wie mach ich denn das?

Oder gibts andere Wege/Möglichkeiten?

Im Endeffekt will ich ein solches Konstrukt bauen:
Code:
// Code Behind
switch(nav)
{
   case "home":
   {   file = "home.ascx"; break; }
   case "guestbook":
   {   file = "gb.ascx"; break; }
   case "about":
   {   file = "about.ascx"; break; }
   default:
   {   file = "home.ascx"; break; }
}

...

// Web Form
// Diese Zeile funktioniert so nicht!
<%@ Register TagPrefix="myProject" TagName="menu" Src=file %>

<myProject:menu ID="Content" runat="server" />

Vielen Dank im Voraus! :)
 
Hallo Saber,

im anderen Thread hab ich doch was von Placeholdern gesagt, oder? ;)

*.aspx
Code:
...
<asp:PlaceHolder id="myPlaceholder" runat="server"></asp:PlaceHolder>
...

*.aspx.cs
Code:
...
protected System.Web.UI.WebControls.PlaceHolder myPlaceholder;
...
switch(nav)
{
   case "home":
   {   file = "home.ascx"; break; }
   case "guestbook":
   {   file = "gb.ascx"; break; }
   case "about":
   {   file = "about.ascx"; break; }
   default:
   {   file = "home.ascx"; break; }
}
myPlaceholder.Controls.Add(this.LoadControl(file));
...

So willst du es doch haben, oder?

Mfg,
Alex
 
Tja, wer lesen kann ist klar im Vorteil. Das ist haargenau das was ich haben wollte. Vielen Dank! :)

Im übrigen arbeite ich wohl schon zu lange mit PHP. ;)
 
Jo, ich merks. Mit Windows-Forms hab ich mich schon zertifizieren lassen, jetzt kommt eben der zweite MCP mit ASP.NET. :)

Im Prinzip ist es ja ned schwer, ist eben ne Umstellung und manchmal sieht man eben den Wald vor lauter Bäumen ned, vorallem wenn man vorher nur PHP Webapplikationen geschrieben hat. ;)
 
Zurück