---
title: "Gällande serverkontroller..."
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/122048-gällande-serverkontroller"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "vift"
published: "2005-02-09T03:29:01.000Z"
updated: "2005-09-20T20:25:27.000Z"
replies: 16
views: 627
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/122048-gällande-serverkontroller"
---

# Gällande serverkontroller...

## #1 — vift, 2005-02-09T03:29Z

En annan grej jag funderat på är hur man på bästa sätt, genom tex en querystring, väljer vilken serverkontroll man vill visa.
Vet inte om det är ett dumt sätt att bygga upp en sida på men jag har iaf min index.aspx som bara innehåller mina tables och som sedan fylls i med olika serverkontroller så som header.ascx, menu.ascx etc. Men hur ska jag koda för att en speciell serverkontroll ska visas i min "maintabell" i index.aspx? Antar att jag behöver göra nån sorts case-sats, men hur??

tacksam för ett bra svar!

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

## #2 — asmodie, 2005-02-09T07:53Z

Panels är ett tips för att visa och gömma olika komponenter som man ha på sidan. Vet inte om det är det du tänkte på.

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

## #3 — ahlen, 2005-02-09T08:01Z

hej Vift,

Du skulle kunna lösa det med Select Case, men i det här fallet är nog If - then - else det bästa.

Kan visa ett exempel, dock kan det bli helt misslyckat då jag är ganska trött...

Du har en mapp med alla dina Web User Controls, vi kallar den för UC för enkelhetens skull.

```
Imports System.Web.UI
Imports System.Web.UI.WebControls
Public Class MinCodeBehind : Inherits Page
    Protected WithEvents myPlaceHolder As Placeholder
    
    Private  Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
        Dim myControl As Control
        If Request.Querystring("page")<>"" Then
            If File.Exists("ab/" + Request.QueryString("page") + ".ascx") Then
                myControl = CType((LoadControl("ab/" + Request.QueryString("page") + ".ascx")), Control)
            Else
                myControl = CType((LoadControl("ab/felsida.ascx")), Control)
            End If
        Else
            myControl=Ctype((LoadControl("ab/start.ascx")), Control)
        End If
        myPlaceHolder.Controls.Add(myControl)
    End Sub
End Class
```

Sedan har du en PlaceHolder där du vill ladda in sidan.

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

## #4 — vift, 2005-02-11T01:10Z

Tack!, löste det när jag började kolla på placeholder-grejen, var den jag saknade för att få det hela att gå ihop.

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

## #5 — echoSwe, 2005-02-11T21:28Z

Finns det något sätt att få asp:panel att inte generera tabeller till layout??

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

## #6 — renholm, 2005-02-11T22:11Z

Gör den?

```
<asp:panel id="moo" runat="server">TEST</asp:panel>
```

Ger:

```
<div id="moo">
	TEST
</div>
```

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

## #7 — echoSwe, 2005-02-11T22:18Z

Ja, det gör den.

```
<form runat="server">
<asp:Panel ID="moo" runat="server">Moo!</asp:Panel>
</form>
```

Ger:

```
<body>
<form name="_ctl0" method="post" action="aspPanels2.aspx" id="_ctl0">
<input type="hidden" name="__VIEWSTATE" value="dDwxMDc1NzM1MDkzOzs+PlXmXHbGbrE3r5iyvVVOS1O1kXM=" />

<table id="moo" cellpadding="0" cellspacing="0" border="0" width="100%"><tr><td>
	Moo!
</td></tr></table>
</form>

</body>
```

Använder du 2.0? Har själv ställt om till 1.1 - men jag vet inte hur man ställer tillbka..

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

## #8 — Dino, 2005-02-11T22:31Z

Den renderar olika till olika webbläsare. Div till uplevel (IE) och table till downlevel(resten). Har för mig att det var så.

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

## #9 — echoSwe, 2005-02-11T22:33Z

Haha, skulle firefox vara downlevel :D
Jo, det stämmer. IE får divven :(. Dålig stil!!
Går det att komma runt? Jag vill själv välja om jag ska skicka dålig kod, eller inte!

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

## #10 — renholm, 2005-02-11T22:37Z

Det kan vara anledningen, jag har satt Firefox till uplevel.

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

## #11 — echoSwe, 2005-02-11T22:39Z

Hur?

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

## #12 — renholm, 2005-02-11T22:40Z

Kika här: <http://slingfive.com/pages/code/browserCaps>

Upptäckte konstigt nog att jag faktiskt inte har satt FireFox till uplevel, utan det var på en annan site. Får dock fortfarande \<div\>\</div\> som output. Använder version 1.1.4322.2032

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

## #13 — echoSwe, 2005-02-11T22:57Z

1\.1.4322.573 använder jag...
//Henke

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

## #14 — echoSwe, 2005-09-19T21:17Z

Jag drar upp den här tråden igen, eftersom jag har fortfarande inte hittat lösningen - hur fixar man det här? Jag vill inte ha en jobbig tabell för att visa något som en div hade gjort bättre.

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

## #15 — emission, 2005-09-19T22:13Z

Browsercaps borde lösa renderingsproblemet, men i princip bör man ju använda en PlaceHolder i stället för en Panel för just detta ändamål.

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

## #16 — desdecado, 2005-09-20T20:18Z

...eller använd en literal, den tar inte så mycket resurser av servern (iofs gör inte de andra det heller mne för jämförandets skull..) =)

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

## #17 — Pace, 2005-09-20T20:25Z

Eller lägg till \<%@ Page ClientTarget="uplevel" %\> på de sidor du vill tvinga att rendera till "uplevel". Kom dock ihåg att det kan få konstiga effekter eftersom mycket av formulärkoden (javascript) inte fungerar så bra i olika webbläsare. Därför är det klokt att använda *downlevel* på sidor där formulär används (eller utelämna parametern helt).

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

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/122048-gällande-serverkontroller
