---
title: "codebehind, vad är det? inkludera querystring?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/131886-codebehind-vad-är-det-inkludera-querystring"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "tobie"
published: "2005-07-26T12:58:28.000Z"
updated: "2005-07-28T17:24:24.000Z"
replies: 12
views: 756
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/dotnet/131886-codebehind-vad-är-det-inkludera-querystring"
---

# codebehind, vad är det? inkludera querystring?

## #1 — tobie, 2005-07-26T12:58Z

hejsan!
som den stolta nybörjare jag är skäms jag inte över att totalt spamma sönder den stackars databasen med frågor som en helt vanlig svensson kanske skulle kunna, synd bara att man heter lindgren och inte svensson.

hur som helst. jag pratade med herr m_soderlund (my referer  ;)) ang. hans sidsystem på dileno.com .

då fick jag följande kod / svar:

```
I default.aspx har jag en s.k. PlaceHolder, vi säger att den heter ph.
<asp:placeholder id="ph" runat="server" />

I en codebehindfil till default.aspx kör jag sedan denna kod:

dim x as integer = cInt(request.querystring("CatId"))
select case x
case 1
 ph.Controls.Add("usercontrol1.ascx")
case 2
 ph.Controls.Add("usercontrol2.ascx")
'etc etc.
end select
```

på detta har jag några följdfrågor (jag frågar här, han hänvisade hit:))
1) vad är en såkallad "codebehind" fil? hur fungerar den? var kan jag läsa mer om den? 
2) fungerar ph.Controls.Add("usercontrol2.ascx") ungefär som PHP's include('usercontrol2.php'); ??
3) varför har han .ascx när ASP.NET skall sparas som .aspx?

tack för er hjälp : )

Permalänk: https://www.webforum.nu/p/131886

## #2 — fredrik, 2005-07-26T13:06Z

Hej, 

Då dina frågor bygger på några av de mest grundläggande sakerna i ASP.NET så föreslår jag att du börjar med att mala igenom alla exempel på:
<http://samples.gotdotnet.com/quickstart/aspplus/>

Där hittar du garanterat svaret på dina frågor! :)

Permalänk: https://www.webforum.nu/p/1648679

## #3 — tobie, 2005-07-26T13:38Z

ok, tack!:)

läste igenom lite, kan inte påstå att jag förstod allt (vilket jag märkte nu när jag försökte mig på ett eget page-script.)..

får "Runtime error", kan inte förstå varför (eftersom att jag inte kan .net så  bra, ÄN;)).

default.aspx:

```
<%@ Page Language="VB" Inherits="PageIncluder" Src="include.vb" %>
<html>
   <head>
      <title>start | tobie.se</title>
   </head>

   <body>

       <center>
	<p>
		<a href="default.aspx?pageId=1">ett</a> | <a href="default.aspx?pageId=2">två</a> 
	</p>
	<p>
		<asp:placeholder id="ph" runat="server" />
	</p>
       </center>

   </body>
</html>
```

include.vb:

```
Option Strict Off

Imports System
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.Web.UI.HtmlControls

Public Class PageIncluder : Inherits Page

dim x as integer = cInt(request.querystring("pageId"))
select case x
case 1
 ph.Controls.Add("test1.ascx")
case 2
 ph.Controls.Add("test2.ascx")
'etc etc.
end select

End Class
```

:(

Permalänk: https://www.webforum.nu/p/1648685

## #4 — desdecado, 2005-07-26T16:35Z

Kör du visual studio.net ?

Permalänk: https://www.webforum.nu/p/1648714

## #5 — tobie, 2005-07-26T19:08Z

eh

jag skriver allt i notepad:)

Permalänk: https://www.webforum.nu/p/1648727

## #6 — tobie, 2005-07-26T19:17Z

har ändrat lite, men det strulat ändå. fast nu har jag fått med lite errors iaf..

\---- ERRORS ----
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 'Request' is not declared.

Source Error:

 

Line 7:  Protected Withevents ph as PlaceHolder
Line 8:  	Sub Page_Load()
Line 9:  		dim x as integer = cInt(Request.QueryString("pageId"))
Line 10: 			select case x
Line 11: 				case 1
\---- END ERRORS ----

\---- INCLUDE.VB ----
Imports System
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.Web.UI.HtmlControls

Public Class PageIncluder
Protected Withevents ph as PlaceHolder
	Sub Page_Load()
		dim x as integer = cInt(Request.QueryString("pageId"))
			select case x
				case 1
				ph.Controls.Add("test1.ascx")
				case 2
				ph.Controls.Add("test2.ascx")
				'etc etc.
			end select
	End Sub
End Class
\---- END INCLUDE.VB ----

\---- DEFAULT.ASPX ----
\<%@ Page Language="VB" Inherits="PageIncluder" Src="include.vb" %\>
\<html\>
   \<head\>
      \<title\>start \| tobie.se\</title\>
   \</head\>

   \<body\>

       \<center\>
	\<p\>
		\<a href="default.aspx?pageId=1"\>ett\</a\> \| \<a href="default.aspx?pageId=2"\>två\</a\> 
	\</p\>
	\<p\>
		\<asp:placeholder id="ph" runat="server" /\>
	\</p\>
       \</center\>

   \</body\>
\</html\>
\---- END DEFAULT.ASPX ----

Permalänk: https://www.webforum.nu/p/1648730

## #7 — desdecado, 2005-07-26T22:01Z

testa:

Line 9: dim x as integer = cInt(**page.**Request.QueryString("pageId"))

..eller..

Line 9: dim x as integer = cInt(**me.**Request.QueryString("pageId"))

btw; du ska ha en eloge att som nybörjare koda .net i notepad!

Permalänk: https://www.webforum.nu/p/1648759

## #8 — wallabou, 2005-07-27T08:24Z

ändra
Public Class PageIncluder
till
Public Class PageIncluder
Inhertis System.Web.UI.Page

Permalänk: https://www.webforum.nu/p/1648814

## #9 — tobie, 2005-07-27T10:59Z

:)

tack så hemskt för era svar, fast dock ploppade ett nytt felmess upp:

```
 Compiler Error Message: BC30456: 'Request' is not a member of 'PageIncluder'.

Source Error:

Line 9:  Protected Withevents ph as PlaceHolder
Line 10: 	Sub Page_Load()
Line 11: 		dim x as integer = cInt(me.Request.QueryString("pageId"))
Line 12: 			select case x
Line 13: 				case 1

Source File: tobie.se\public_html\include.vb    Line: 11
```

se: <http://www.tobie.se/default2.aspx>

```
include.vb:
Imports System
Imports System.Web
Imports System.Web.UI
Imports System.Web.UI.Page
Imports System.Web.UI.WebControls
Imports System.Web.UI.HtmlControls

Public Class PageIncluder
' : Inhertis System.Web.UI.Page
Protected Withevents ph as PlaceHolder
	Sub Page_Load()
		dim x as integer = cInt(me.Request.QueryString("pageId"))
			select case x
				case 1
				ph.Controls.Add("test1.ascx")
				case 2
				ph.Controls.Add("test2.ascx")
				'etc etc.
			end select
	End Sub
End Class
```

Permalänk: https://www.webforum.nu/p/1648850

## #10 — desdecado, 2005-07-27T11:27Z

Du ska inte skriva "me" när du har import på system.web.ui.page (för "request" ligger under "page")

Permalänk: https://www.webforum.nu/p/1648858

## #11 — tobie, 2005-07-27T12:32Z

ok!
du är schysst, snällt att du hjälper!:)

men.:(
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: BC30469: Reference to a non-shared member requires an object reference.

Source Error:

Line 10: Protected Withevents ph as PlaceHolder
Line 11: 	Sub Page_Load()
Line 12: 		dim x as integer = cInt(Request.QueryString("pageId"))
Line 13: 			select case x
Line 14: 				case 1

Source File: tobie.se\\public_html\\include.vb    Line: 12

Permalänk: https://www.webforum.nu/p/1648881

## #12 — tobie, 2005-07-27T13:55Z

är det ingen annan som har ett liknande script då?
som jag kan "få"? :/

Permalänk: https://www.webforum.nu/p/1648905

## #13 — tobie, 2005-07-28T17:24Z

sååå!
äntligen har det löst sig
fick hjälp utan sälen (på <http://sealstudio.net>) via msn och nu löste det sig toppen
1) spara include.vb som include.aspx.vb
2) ändra koden till:
Imports System
Imports System.Web
Imports System.Web.UI
Imports System.Web.UI.Page
Imports System.Web.UI.WebControls
Imports System.Web.UI.HtmlControls

Public Class PageIncluder : Inherits Page
' : Inhertis System.Web.UI.Page
Protected Withevents ph as PlaceHolder
    Sub Page_Load()
    dim ctrControl as Control
        dim x as integer = cInt(Request.QueryString("pageId"))
            select case x
                case 1
                    ctrControl = CType(LoadControl("test1.ascx"), Control)
                case 2
                    ctrControl = CType(LoadControl("test2.ascx"), Control)
                case else
                    ctrControl = CType(LoadControl("test1.ascx"), Control)
                'etc etc.
            end select
        ph.Controls.Add(ctrControl)
    End Sub
End Class

3) ändra default.aspx placeholder namnet till ph, inte page:)

allt klart!

Permalänk: https://www.webforum.nu/p/1649189

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/131886-codebehind-vad-är-det-inkludera-querystring
