---
title: "UC i itemtemplate (DataList)"
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/167133-uc-i-itemtemplate-datalist"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "Travoni"
published: "2007-12-10T16:57:43.000Z"
updated: "2007-12-15T19:02:28.000Z"
replies: 16
views: 845
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/167133-uc-i-itemtemplate-datalist"
---

# UC i itemtemplate (DataList)

## #1 — Travoni, 2007-12-10T16:57Z

UC'n (RÖD) "får aldrig något värde" medans Labelen (BLÅ) "får ett"?

```
<asp:DataList ID="DataList1" runat="server">
        <HeaderTemplate>
            <table>
               <tr> 
        </HeaderTemplate>
        <ItemTemplate> 
                <td>
                     [blue]<asp:Label runat="server" ID="testar" Text='<%#DataBinder.Eval(Container.DataItem, "oText")%>' />[/blue]
                     [red]<ia:bubble runat="server" ID="bubbla" Text='<%#DataBinder.Eval(Container.DataItem, "oText")%>' />[/red]
                </td> 
        </ItemTemplate>
        <FooterTemplate>
                </tr>
            </table>
        </FooterTemplate>
    </asp:DataList>
```

 Vad beror detta på?
Det är ju annars identiska.

Tilläggas bör att uc'n funkar perfekt utanför DataListen.

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

## #2 — Sjodahl, 2007-12-10T18:14Z

> **Travoni skrev:**
>
> \<td\>
>                      \<asp:Label runat="server" ID="testar" Text='\<%#DataBinder.Eval(Container.DataItem, "oText")%\>' /\>
>                      \<ia:bubble runat="server" ID="bubbla" Text='\<%#DataBinder.Eval(Container.DataItem, "oText")%\>' /\>
>                 \</td\>

skall det vara **\<ia** ??

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

## #3 — Travoni, 2007-12-10T18:18Z

Javisst, det är TagPrefixet på min UC, skulle det var fel?

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

## #4 — Travoni, 2007-12-11T12:44Z

Något tips av någon kanske?  :r

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

## #5 — freguz, 2007-12-11T13:26Z

Sorry men jag har aldrig gjort på detta viset :OO

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

## #6 — andreas_lindh, 2007-12-11T13:28Z

Hur ser koden i uc:n ut? Jag gör på samma sätt och det fungerar, även när jag lägger uc:n i en datalist

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

## #7 — Travoni, 2007-12-11T13:38Z

OK, så här:

```
<%@ Control Language="VB" AutoEventWireup="false" CodeFile="infoBubble.ascx.vb" Inherits="userControls_infoBubble" %>
&nbsp;<img src="/assets/icons/info.gif" alt="" width="12" id="bubble" style="border:none" runat="server" />&nbsp;
<asp:Label runat="server" ID="bubblelbl" CssClass="bubble" />

[red][B]CodeFile:[/B][/red]

Partial Class userControls_infoBubble
    Inherits System.Web.UI.UserControl
    Public Property Text() As String
        Get
            Return _text
        End Get
        Set(ByVal value As String)
            _text = value
        End Set
    End Property
    Private _text As String

    Sub page_load(ByVal s As Object, ByVal ev As EventArgs) Handles MyBase.Load
        If Not Me.Page.ClientScript.IsClientScriptBlockRegistered("bubble") And Me.Visible Then
            Dim script As String = "<script type=""text/javascript"">function bubble(e){var elm = document.getElementById(e);elm.style.display =(elm.style.display==""block"")?""none"":""block"";};</script><style type=""text/css"">.bubble{ display:none; width:150px; margin-left:20px; position:absolute; border:1px solid #EEAC04; padding:3px; font-size:11px; background-color:#FFFFFF; z-index:100;}</style>"
            Me.Page.ClientScript.RegisterClientScriptBlock(Me.GetType, "bubble", script)
        End If
        Me.bubble.Attributes.Add("onclick", "bubble('" & Me.bubblelbl.ClientID & "')")
        Me.bubblelbl.Text = Text
    End Sub
End Class
```

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

## #8 — andreas_lindh, 2007-12-11T13:48Z

Kopierade din kod och den fungerar när jag kör den

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

## #9 — Travoni, 2007-12-11T13:59Z

Helt otroligt, fattar inte vad som felar.
Den funkar ju utanför DataListen och värdet skrivs till Labelen i detta fall:

```
<asp:Label runat="server" ID="testar" Text='<%#DataBinder.Eval(Container.DataItem, "oText")%>' />
```

\<ia:bubble runat="server" ID="bubbla" Text="Test text"/\>
Funkar ju också.

Men i DataListen funkar det inte.
Hur går jag vidare?

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

## #10 — Travoni, 2007-12-11T14:56Z

En trace ser utså här:

```
Begin PreInit   
aspx.page End PreInit
aspx.page Begin Init
aspx.page End Init 
aspx.page Begin InitComplete
aspx.page End InitComplete
aspx.page Begin PreLoad
aspx.page End PreLoad 
aspx.page Begin Load
[red] UC Property Text SET: Farm Ale 
 UC Property Text SET: Old gold 
 Page_Load i UC Text: Farm Ale
 Page_Load i UC Text: Old gold [/red] 
aspx.page End Load 
aspx.page Begin LoadComplete 
aspx.page End LoadComplete 
aspx.page Begin PreRender 
[red] Page_Load i UC Text: 
 UC Property Text SET: Farm Ale 
 Page_Load i UC Text:
 UC Property Text SET: Old gold [/red]   
aspx.page End PreRender 
aspx.page Begin PreRenderComplete 
aspx.page End PreRenderComplete
aspx.page Begin SaveState 
aspx.page End SaveState 
aspx.page Begin SaveStateComplete 
aspx.page End SaveStateComplete
aspx.page Begin Render
aspx.page End Render
```

 Varpå man kan se att Texten försvinner i PreRender.

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

## #11 — Travoni, 2007-12-12T15:04Z

Samma sak, är det något annat jag kan visa/göra?

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

## #12 — inspiro, 2007-12-12T16:13Z

Har du testat att göra en ny uc som ser exakt lika ut? Kanske är något annat som flippat (tänkte på det här med partial classes, kanske ligger felet där bakom?).

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

## #13 — Travoni, 2007-12-12T22:20Z

Nu har jag kommit på det, men inte vad jag skall göra åt det.
Om jag kopplar datasourcen direkt till repeatern så funkar det, men i min CustomPagerControl så binds datan om i prerender.
Det verkar vara där datan försvinner.

```
Protected Overrides Sub OnPreRender(ByVal e As EventArgs)
            If (Me.PagingMode = pagingmodetype.querystring) Then
                Me.BindToQueryString()
            End If
            Me._PagedDataSet.CurrentPageIndex = (Me._CurrentPage - 1)
            If (((Me.PageCount <= 1) AndAlso (Not Me.Context Is Nothing)) AndAlso Me.HideOnSinglePage) Then
                Me.Visible = False
            Else
                Me.BuildControl()
            End If
            If (Me._BindToControl.Length > 0) Then
                [B]Dim ctrl As Control = Me.Page.FindControl(Me._BindToControl)[/B]
                If (Not ctrl Is Nothing) Then
                    [B]ctrl.DataBind()[/B]
                End If
            End If
            MyBase.OnPreRender(e)
        End Sub
```

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

## #14 — Travoni, 2007-12-12T22:29Z

> **freguz skrev:**
>
> Sorry men jag har aldrig gjort på detta viset :OO

Hur skulle du gjort då?

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

## #15 — Travoni, 2007-12-14T23:52Z

Detta står fortfarande olöst, någon som har ngt tips kanske?

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

## #16 — CatZ, 2007-12-15T06:38Z

Förmodligen är det ingen av våra experter som har tid att hjälpa till just nu vilket iofs inte är så konstigt då julen närmar sig med stormsteg.

Jag hade gärna hjälpt dig men det överstiger mitt förstånd ;) Om du stegar igenom din Protected Overrides Sub OnPreRender(ByVal e As EventArgs) vad händer då?

Du kanske kan ha någon nytta av <http://msdn2.microsoft.com/en-us/library/ms178472.aspx#databindingevents> då det verkar vara vad som strular. Datan skrivs men är tom sa du?

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

## #17 — Travoni, 2007-12-15T19:02Z

Jo, presis.
Kontrollens data sätts efter! att den "skrivits ut" vilket såklart leder till att resultatet blir tomt.

Alltså i PageLoad så ser det rätt ut, men när kontrollen binds om i prerender så försvinner värdet.
[Page_Load i UC Text:
UC Property Text SET: Old gold](http://www.webforum.nu/showthread.php?p=1375980#post1375980)

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

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/167133-uc-i-itemtemplate-datalist
