South_Bridge Skrevet 17. oktober 2009 Del Skrevet 17. oktober 2009 Har gjort det i php, og prøver nå å gjøre det samme i asp.net (!! .NET !!) I php har jeg gjort noe som dette <html> <body> <?php if( $_GET['page'] == "index" ) include('home.php') else if( $_GET['page'] == "login" ) include('login.php'); Jeg prøver da og lære meg litt asp.net (med c#). skal jeg legge koden i aspx eller aspx.cs for index.aspx siden? Og hva burde denne koden være? Lenke til kommentar
Gjest Skrevet 17. oktober 2009 Del Skrevet 17. oktober 2009 (endret) Google ga meg følgende: Request.QueryString["page"] EDIT: Les her: http://forums.asp.net/t/474202.aspx Endret 17. oktober 2009 av Gjest Lenke til kommentar
South_Bridge Skrevet 18. oktober 2009 Forfatter Del Skrevet 18. oktober 2009 (endret) Siden er lest, men jeg blir ikke noe klokere... om url ser noe sånn ut: ../index.aspx?page=login HVA og HVOR i koden gjør jeg tester? Jeg har følgende i min index side, i body: <% if( Request.QueryString["page"] != null ) { if (Request.QueryString["page"].Equals("login")) Response.Write("LOGIN PAGE"); } else Response.Write("MAIN PAGE"); %> Men jeg er stuck på hva jeg skal gjøre for å inkludere de riktige sidene. Endret 18. oktober 2009 av South_Bridge Lenke til kommentar
South_Bridge Skrevet 18. oktober 2009 Forfatter Del Skrevet 18. oktober 2009 Etter litt leting, gjetting og resultater så har jeg kommet frem til noe. Men lurer på om dette er den beste måten å gjøre det på. Paste litt kode med forklaring nedenfor. index.aspx ser slik ut: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="index.aspx.cs" Inherits="SITENAME.index" %> <%@ Register TagPrefix="uc" TagName="login" Src="~/login.ascx" %> <%@ Register TagPrefix="uc" TagName="main" Src="~/main.ascx" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head> <title></title> </head> <body> <% login.Visible = false; main.Visible = false; if( Request.QueryString["page"] != null ) { if (Request.QueryString["page"].Equals("login")) login.Visible = true; } else main.Visible = true; %> <uc:login ID="login" runat="server" /> <uc:main ID="main" runat="server" /> </body> </html> Jeg har da på forhånd lag 2 "Web User Controls", login og main. login.ascx ser slik ut: <%@ Control Language="C#" AutoEventWireup="true" CodeBehind="login.ascx.cs" Inherits="SITENAME.login" %> <div> <% if (Request.Form["submitLoginForm"] != null) { if (Request.Form["brukernavn"].Equals("user1") && Request.Form["passord"].Equals("pass1")) { Response.Write("You have logged in!"); } } %> <table border="0" cellpadding="0" cellspacing="8" style="font-size: 12px;"> <tr> <td colspan="2"><h2 style="font-size: 1.2em; margin: 0; padding: 0; display: inline;">Login</h2></td> </tr> <tr> <td align="right" style="padding-right: 10px;">Brukernavn</td> <td><input name="brukernavn" type="text" /></td> </tr> <tr> <td align="right" style="padding-right: 10px;">Passord</td> <td><input name="passord" type="password" /></td> </tr> <tr> <td align="right" colspan="2"><input name="submitLoginForm" type="submit" value="SEND" /></td> </tr> </table> </div> Noen som har noen innvendinger? Er dette feil bruk av Web User Controls til det jeg prøver å oppnå (../index.aspx?page=XXX ). Lenke til kommentar
Wattengård Skrevet 19. oktober 2009 Del Skrevet 19. oktober 2009 Nei det er absolutt ikke en god måte å gjøre det på. Hvis du virkelig ønsker å gjøre noe som ligner på dette i ASP.NET så kan du se på Master Pages. Ser ikke helt hvorfor du vil gjøre det på denne måten annet enn url-vanity. Men hvis du absolutt må, så kan du vel kjøre noe a'la denne flyten... Lese QueryString Åpne fila som QS peker til med en vanlig System.IO funksjon. Spytt fila ut igjen med Response.Write -C- Lenke til kommentar
brgr Skrevet 10. november 2009 Del Skrevet 10. november 2009 Nå bruker jeg dog VB.NET når jeg skriver ASP.NET sider men ca. det samme vil det bli. <%@ Page Language="VB" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <script runat="server"> Sub _OnLoad(sender as Object, e as System.EventArgs) Handles Me.Load Dim page As String = Request.QueryString("page") Select Case page.ToLower Case "login" myContent.Controls.Add(LoadControl("./ControlFolder/Login.ascx")) Case Else myContent.Controls.Add(LoadControl("./ControlFolder/Main.ascx")) End Select End Sub </script> <head> <title></title> </head> <body> <div id="myContent" runat="server"></div> </body> </html> Håper dette kunne hjelpe deg litt på vei ihvertfall:p Lenke til kommentar
South_Bridge Skrevet 12. november 2009 Forfatter Del Skrevet 12. november 2009 Nå bruker jeg dog VB.NET når jeg skriver ASP.NET sider men ca. det samme vil det bli. <%@ Page Language="VB" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <script runat="server"> Sub _OnLoad(sender as Object, e as System.EventArgs) Handles Me.Load Dim page As String = Request.QueryString("page") Select Case page.ToLower Case "login" myContent.Controls.Add(LoadControl("./ControlFolder/Login.ascx")) Case Else myContent.Controls.Add(LoadControl("./ControlFolder/Main.ascx")) End Select End Sub </script> <head> <title></title> </head> <body> <div id="myContent" runat="server"></div> </body> </html> Håper dette kunne hjelpe deg litt på vei ihvertfall:p Det var nettopp dette jeg ville ja... riktignok i VB men lar seg lett konvertere til et bedre språk, ;-) :-P Lenke til kommentar
gather Skrevet 24. mai 2010 Del Skrevet 24. mai 2010 Nå er det vel blitt mer vanlig å bruke masterpages for å oppnå denne typen funksjonalitet? Lenke til kommentar
MailMan13 Skrevet 25. mai 2010 Del Skrevet 25. mai 2010 Bruk MasterPage til dette ja. Ingen vits å sitte å håndkode ting som allerede er godt implementert i rammeverket. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå