---
title: "Fel med placeholder och usercontrol"
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/113430-fel-med-placeholder-och-usercontrol"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "MagnusJ"
published: "2004-10-12T19:33:44.000Z"
updated: "2004-10-13T14:02:54.000Z"
replies: 9
views: 394
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/113430-fel-med-placeholder-och-usercontrol"
---

# Fel med placeholder och usercontrol

## #1 — MagnusJ, 2004-10-12T19:33Z

Jag har gått över från vb.net till C# och nu har jag försökt konventera en gammal metod som jag har använt mig av för navigeringen av sidor. Jag använder mig av en usercontrol som med hjälp av querystringen p kollar om sidan finns. Annars visas startsidan.

```
using System;
using System.IO;
using System.Web.UI;
using System.Web.UI.WebControls;

class MinCodeBehind : Page
{
	protected PlaceHolder myPlaceHolder;
	protected Control myControl;

	static void Page_Load(object sender, EventArgs e)
	{
		if (File.Exists(Page.MapPath("uc/" & System.Web.HttpContext.Current.Request.QueryString("p") & ".ascx")))
		{
			myControl = LoadControl("uc/" & System.Web.HttpContext.Current.Request.QueryString("p") & ".ascx");
			myPlaceHolder.Controls.Add(myControl);
		}
		else
		{
			myControl = LoadControl("uc/start.ascx");
			myPlaceHolder.Controls.Add(myControl);
		}			
	}
}
```

 

Jag får ett felmeddelande som ser ut så här:

Compiler Error Message: CS0118: 'System.Web.HttpRequest.QueryString' denotes a 'property' where a 'method' was expected

Source Error:

Line 13: 	static void Page_Load(object sender, EventArgs e)
Line 14: 	{
Line 15: 		if (File.Exists(Page.MapPath("uc/" & System.Web.HttpContext.Current.Request.QueryString("p") & ".ascx")))
Line 16: 		{
Line 17: 			myControl = LoadControl("uc/" & System.Web.HttpContext.Current.Request.QueryString("p") & ".ascx");

Någon som vet hur man kan åtgärda detta?

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

## #2 — Dino, 2004-10-12T19:56Z

Buu: QueryString("p")
Jippi: QueryString\["p"\]

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

## #3 — MagnusJ, 2004-10-12T20:43Z

Tack. 

Operator '&' cannot be applied to operands of type 'string' and 'string'

Skriver man ut & på något annat sätt i C#?

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

## #4 — erka, 2004-10-12T20:52Z

använd +

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

## #5 — Dino, 2004-10-12T20:53Z

\+

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

## #6 — erka, 2004-10-12T20:55Z

wee jag var snabbast ;)

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

## #7 — MagnusJ, 2004-10-12T21:24Z

tack igen! Blir mycket nytt :) 

CS0120: An object reference is required for the nonstatic field, method, or property 'System.Web.UI.Page.MapPath(string)'

Det verkar ju som att den inte märker av det. Har jag byggt upp placeholdern och usercontrolen rätt?

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

## #8 — jazzil, 2004-10-12T21:35Z

Använd: Server.MapPath
typ:

```
if (System.IO.File.Exists(Server.MapPath("uc/" + System.Web.HttpContext.Current.Request.QueryString["p"] + ".asxc")))
```

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

## #9 — Dino, 2004-10-12T21:36Z

Re: Fel med placeholder och usercontrol

```
using System;
using System.IO;
using System.Web.UI;
using System.Web.UI.WebControls;

class MinCodeBehind : Page
{
   protected PlaceHolder myPlaceHolder;

   private void Page_Load(object sender, EventArgs e)
   {
      string url = string.Format("uc/{0}.ascx",  Request.QueryString["p"]);
      if(File.Exists(Page.MapPath(url)))
      {
         myPlaceHolder.Controls.Add(LoadControl(url));
      }
      else
      {
          myPlaceHolder.Controls.Add(LoadControl("uc/start.ascx"));
      }			
   }
}
```

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

## #10 — MagnusJ, 2004-10-13T14:02Z

Tack. 

Jag får inget felmeddelande nu. Men placeholdern visar ingenting.

\<%@ Page Language="c#" Src="default.cs" classname="MinCodeBehind" %\>

\<asp:placeholder id="myPlaceHolder" runat="server" /\>

så där har jag gjort i default.aspx. 

Någon vänlig själ som vet hur man kan göra?

Edit: Lyckades lösa det nu.

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

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/113430-fel-med-placeholder-och-usercontrol
