---
title: "Codebehind fångar inte upp värden"
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/134038-codebehind-fångar-inte-upp-värden"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "JPS"
published: "2005-09-09T22:44:20.000Z"
updated: "2005-09-10T13:05:15.000Z"
replies: 4
views: 574
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/134038-codebehind-fångar-inte-upp-värden"
---

# Codebehind fångar inte upp värden

## #1 — JPS, 2005-09-09T22:44Z

Sitter och labbar igen med codebehind men jag får inte det att funka som jag hade tänkt. 

I webpartsettings.vb har jag ett antal olika värden som styr den grafiska layouten på en webbsida som t.ex.

**WebPartSiteWidth**  \= "700"	'Marginal för satsyta

sedan använder jag en codebehind som har koden

```
<html>
<head>
	<title><% = WebPartName %></title>
	<link rel="stylesheet" type="text/css" href="../mall.css">
	<script src="../JavaScript/JavaScript.js"></script>
</head>

<body class="<% = WebPartBodyClass %>">
<table border="0" cellpadding="0" cellspacing="0">
<tr>
	<td colspan="2" style="height:10px">&nbsp;</td>
</tr>
<tr>
	<td width="<% = WebPartSiteMarginLeft %>">&nbsp;</td>
	<td width="<% = [B]WebPartSiteWidth[/B] %>">
```

 

som läses in i default.aspx men jag får felmeddelandet att **WebPartSiteWidth** 
inte är deklarerat (ÄR deklarerat i webpartsettings.vb). Min förhoppning var att ascx filer skulle fungera som asp .inc där inc filen sattes ihop med resterande dokument. Vad kan man göra?
(Det hade varit smidigast om inställningarna kunde ligga i en fil så att man slapp att deklarera värden i codebehind filerna.)

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

## #2 — renholm, 2005-09-09T23:12Z

Hur har du "kopplat" din klass till själva webbsidan? Ser ingen \<%@ Page %\>

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

## #3 — JPS, 2005-09-10T11:52Z

I .ascx filen har jag \<%@ Control Language="VB" %\>  och i default.aspx

\<%@ Page Inherits="webPartSettings" Src="webPartSettings.vb" Language="VB" %\>
\<%@ Register TagPrefix="HtmlStart" TagName="HtmlStartInc" Src="HtmlStart.ascx" %\>
\<%@ Register TagPrefix="HtmlSlut" TagName="HtmlSlutInc" Src="HtmlSlut.ascx" %\>

\<%@ Register TagPrefix="HtmlMeny" TagName="HtmlMenyInc" Src="HtmlMeny.ascx" %\>
\<%@ Register TagPrefix="HtmlButtons" TagName="HtmlButtonsInc" Src="HtmlButtons.ascx" %\>

\<script runat="server"\>
	
\</script\>

\<HtmlStart:HtmlStartInc runat="server"/\>

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

## #4 — m_soderlund, 2005-09-10T12:00Z

Man använder inte användarkontroller på det sättet.
Vill du ha in specifika värden i din källkod så skulle jag använda literals i stället.

```
<td width="<asp:literal id="WebPartSiteWidth" runat="server" />">
```

och så deklarerar du WebPartSiteWidth som en literal i codebehind:

```
dim WebPartSiteWidth as literal
WebPartSiteWidth.Text = "200"
```

Bara ett exempel och lite av en fullösning.

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

## #5 — JPS, 2005-09-10T13:05Z

Ok - jag testar! (Jäkla synd att det inte går som tidigare det sparar men massa tid
om man behöver ändra layouten. De 4:a inc-filerna räckte för hela siten, då dessa styrde all grundläggande layout och siduppbyggnad.) 
En fråga till: skall men deklarera alla värden som Public (Public WebPartSiteWidth = "700") i webPartSettings.vb så att man slipper att deklarera allt igen per sida som skall använda vädena eller finns det något annat sätt?

Min tanke är att använda en webPartSettings.vb fil för alla sidor som innehållar alla värden som man behöver på sin sajt.

Kom och tänka på en sak till: hur gör man om man vill inkludera en meny som är dynamisk d.v.s. gamla \<% If Request("Namn") = "nisse" Then%\>Rockar \<% = Request("Namn")%\>\<% Else %\>Ingen rockar\<% End If %\>

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

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/134038-codebehind-fångar-inte-upp-värden
