Gå til innhold

Include/Switch i PHP --> ? i ASP


Anbefalte innlegg

Spurte om dette et annet sted men det er visst her det hører til:

 

Hvordan kan jeg bruke asp til å inkludere på samme måte som med Switch i PHP? Altså at jeg har en link <a href="index.aspx?side=start">Startsida</a> som, når jeg klikker på den, gjør at en fil blir inkludert et annet sted på siden?

 

Kirikiri nevnte UserControls. Hva er det?

Lenke til kommentar
Videoannonse
Annonse

UserCOntrols er "kodebiter" som du putter inn i en aspx-side, slik som include-filer i gammel asp.

Du koder dem i egne filer med filendelsen ascx, og så kaller du en ascx-fil fra aspx-filen, avhengig av variabler du selv velger.

 

En måte å bruke der er å ha f.eks. default.aspx

Default.aspx inneholder bl.a. en placeholder, kalt plcPrintInclude

 

I Codebehind kan du under page_load gjøre følgende:

 

plcPrintInclude.Controls.Add(LoadControl(<valgfri usercontrol-fil>))

 

Du kan bruke default.aspx som en "ramme" rundt usercontrolene dine, og f.eks. velge usercontrols basert på en id i url'en.

 

dim iPageID as integer
iPageID = cint(Request.Querystring("pageid")

if iPageID = 1 then
   plcPrintInclude.Controls.Add(LoadControl("includefile1.ascx"))
elseif iPageID = 2 then
   plcPrintInclude.Controls.Add(LoadControl("includefile2.ascx"))
end if 

 

Kirikiri

Lenke til kommentar

Nesten fått det til nå. Får denne feilmeldingen:

Compilation Error 
Description: An error occurred during the compilation of a resource required to service this request. Please review the following specific error details and modify your source code appropriately. 

Compiler Error Message: BC30451: Name 'plcPrintInclude' is not declared.

Source Error:

Line 36: 
Line 37: if id = 1 then
Line 38:    plcPrintInclude.Controls.Add(LoadControl("start.ascx"))
Line 39: elseif id = 2 then
Line 40:    plcPrintInclude.Controls.Add(LoadControl("kontakt.ascx"))

Hva kan det være?

Det mangla forresten en parentes i cint() koden du skrev.

 

Har nå funnet en ting ASP er bedre på enn PHP: forståelige feilmeldinger.

 

Edit: Kanskje dette kan ha noe å si:

Version Information: Microsoft .NET Framework Version:1.0.3705.288; ASP.NET Version:1.0.3705.288

Endret av svamp
Lenke til kommentar

Du må deklarere alle kontroller på følgende måte:

 

protected withevents plcPrintInclude as Placeholder

 

Dette gjør du før Page_Load.

 

Hvis du bruker Visual Studio, kan du f.eks. legge dem i den Regionen som kommer først etter public class ... (se etter lite kryss i venstre marg, og klikk på det. KOmmer opp mer stanardkode der.)

 

Alle kontroller deklareres slik

 

<asp:kontrolltype id="idforkontrollen" runat="server" >

</asp:kontrolltype>

 

Evt. <asp:kontrolltype id="idforkontrollen" runat="server" /> hvis du ikke skal ha noe inni kontrollen din.

 

-Egentlig tror jeg at vi har begynt litt i feil ende her. Tror du skal lese litt om hvordan få til enkle tekstbokser etc før vi begynner med usercontrols, for å se hvordan du bygger opp en side med kontroller.

 

Kirikiri

Lenke til kommentar

Jeg må nok innrømme at jeg bruker notisblokk :blush: . Går ikke det? Kan godt hende det er noe viktig standard kode jeg ikke har med i dokumentet mitt. Har gjort som jeg pleier med PHP; vanlig html + include tingen akkurat der den skal være i dokumentet, og omsluttet av <% %>

 

Har ikkenoe som heter Page_Load jeg :dontgetit:

 

Jeg er fullstendig nybegynner i ASP. Skrev mitt første ASP-ord i dag (eller kopierte da). Kan Visual Basic 6, så kjenner jo til det meste av den grunnleggende syntaksen.

Endret av svamp
Lenke til kommentar

Heh, da må vi oppklare et par misforståelser. :)

 

ASP med vb-script kan du fint lage i Notepad. ASP.NET bør lages i noe som kan kompilere code-behind-filene dine. WebMatrix er gratis og du finner det med google.

 

Du kan lage asp.net sider uten å kompilere koden din, slik som i gammel asp, men da er jeg rimelig blank. Jeg lager kompilerte sider, og det er to helt forskjellige måter å gjøre det på.

 

Så først må du være litt klar og tydelig: Lager du ASP-sider, eller ASP.NET-sider?

Akkurat nå tror jeg du lager en hybrid. :)

 

Det beste tipset mitt er nå at du finner WebMatrix med google, og leser på div. tutorials der du laster det ned. Ellers er www.asp.net et kjekt sted å begynne for .net-kode.

 

ASP.NET kan være noe helt annet enn PHP, så du bør egentlig lære deg forskjellen ved å prøve deg ut med et skikkelig editeringsprogram. :)

 

Kirikiri

Lenke til kommentar
  • 2 uker senere...

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...