Ich möchte gerne wenn man auf einem Link klickt sich ein Teil der Seite verändert.
Der Link wird als Parameter an die URL gehangen.Bei der Abfrage welcher Link aktiv ist
private void Page_Load(object sender, System.EventArgs e)
{
if(Request["link"].ToString()!=null)
{
Response.Write(Request["link"].ToString());
}
}
soll an einer Stelle in der Seite der Text verändert werden.Bei php würde ich das per include oder mit einer if Abfrage im Quellcode machen.Aber wie geht das bei aspx?
Dies sind meine ersten schritte im asp(x) Bereich.
Bin zwar auch Neueinsteiger in dem Gebiet aber ich glaube dir könnte Server.Execute("inhalt.aspx"); weiterhelfen.
Diese Zeile führt, wie zu erwarten, eine andere aspx-Seite auf dem Server aus, die dann entsprechend den neuen Inhalt repräsentieren könnte, ohne, dass gleich eine gänzlich neue Seite eröffnet wird. Der Inhalt wird also einfach eingefügt.
Danke Rapthor,
stellt sich jetzt nur noch die Frage wie ich das ganze an der gewünschten Poition mache? Oder kann ich eine Methode aus der C# Klasse von der Webseite aus aufrufen?
Ein Web User Control könnte dir weiterhelfen! Diese kannst du dann, je nach angeforderter Seite, mittels this.Controls.Add(LoadControl("ctl-name")) (oder so ähnlich) einfügen.
Folgendes Beispiel habe ich mal gefunden:
<html>
<head><title>Seite A</title></head>
<body>
Das ist Seite A, erster Output<br>
<%
Server.Execute("SeiteB.asp")
%>
Das ist Seite A, zweiter Output. Das hier sieht man jedoch erst nach SeiteB.asp<br>
</body>
</html>
Ansonsten geht das ganze Spiel auch folgendermaßen. Das hier steht im Inhalt der ersten Seite:
<% @Page language="C#" %>
<script runat="server">
void Page_Load(object sender, EventArgs e)
{
Server.Execute("SeiteB.aspx");
}
</script>
<html>
<body>
bla blu bla
Inhalt der ersten Seite ......
</body>
</html>
Das Ergebnis ist, dass du zuerst den Inhalt der HTML siehst und danach eben die Seite des Execute ... versuch's mal.
Rapthor