---
title: "Problem med webserverkontroller i datagrid"
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/101339-problem-med-webserverkontroller-i-datagrid"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "margar-0"
published: "2004-04-12T16:37:04.000Z"
updated: "2004-04-12T17:34:48.000Z"
replies: 2
views: 222
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/101339-problem-med-webserverkontroller-i-datagrid"
---

# Problem med webserverkontroller i datagrid

## #1 — margar-0, 2004-04-12T16:37Z

Jag har skapt en DataGrid där jag ska kunna redigera nyheter. Problemet är då jag ska skapa en webserverkontroll. Jag ställer mig mellan ItemTemplate och skriver som nedan en asp:Label. Problemet är att kontrollen aldrig registreras (Web Form Designer Generated Code) i Code-Behind vilket medför att jag inte kan komma åt kontrollens värde (tex lblId.Text). Om jag däremot drar i en label från toolboxen så registreras kontrollen och jag kan komma åt dess värde. Jag skulle ju kunna göra så men problemet är ju att kontrollen lägger sig under DataGriden och där vill jag ju inte ha den. Så jag provade sedan att klippa ut kontrollen och lägga in den mellan ItemTemplate-taggarna eftersom den är registrerad i Code-Behind. När jag gjort det och ska köra koden får jag fel "Object reference not set to an instance of an object"

Varför känner den inte av kontrollen i DataGriden?

```
<asp:TemplateColumn HeaderText="Nyhetsnr"> 
       <ItemTemplate> 
        <asp:Label id="lblId" runat="server" text='<%#Container.DataItem("id")%>'> 
             </asp:Label>  'Hittar inte i Code-Behind 
         </ItemTemplate>         
     </asp:TemplateColumn> 
<asp:TemplateColumn HeaderText="Rubrik"> 
       <ItemTemplate> 
        <asp:Label id="lblRubrik" runat="server" text='<%#Container.DataItem("id")%>'>  'Hittar inte i Code-Behind 
             </asp:Label> 
         </ItemTemplate> 
        <EditItemTemplate> 
          <asp:textbox id="txtRubrik" runat="server" textmode="multiline" 
           text='<%#Container.DataItem("rubrik")%>'>  'Hittar inte i Code-Behind 
          </EditItemTemplate>             
     </asp:TemplateColumn> 
osv...
```

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

## #2 — cyprys, 2004-04-12T17:33Z

Du skall köra findcontrol i en sub under OnItemDataBound.
Alltså en sub som körs för varje rad i datagriden.

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

## #3 — PDahlen, 2004-04-12T17:34Z

I din code-behind, när är det du försöker göra något med kontrollerna?
Om du har en datagrid eller en repeater så måste du "hitta" kontrollen när du databinder. Kontrollen har ju olika värden för varje rad.

```
        Dim lblRubrikTmp As Label = CType(e.Item.FindControl("lblRubrik"), Label)
```

hittar din lblRubrik i den Item du har valt. Om du gör det i databind så kan du utföra saker med lblRubrik i alla rader.

Om du ska göra din edit så använder du ovanstående i din Edit funktion.

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

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/101339-problem-med-webserverkontroller-i-datagrid
