Avatar billede superzapper Nybegynder
10. september 2006 - 14:27 Der er 3 kommentarer og
1 løsning

Databinding af Control Template

Hejsa derude.

Jeg har netop lavet en CompositeControl med en Template. Det eneste jeg mangler er at få kaldt Databind på de elementer der bliver tilføjet til templaten - er der nogen der ved hvordan man gør det??

Problemer er fundamentalt set at ved nedenstående kode bliver
<%#DateTime.Now %> ikke afviklet...

<custom:CHNcontrol ID="chn" runat="server">
    <ItemTemplate> 
        <asp:Label ID="lbl" runat="server"
            Text="<%#DateTime.Now %>"></asp:Label>
    </ItemTemplate>
</custom:CHNcontrol>
Avatar billede snepnet Nybegynder
10. september 2006 - 17:11 #1
Du må vise din kode... Problemet er formentlig blot at du ikke kalder databind vil jeg tro. Konstruktionen vil typisk være noget i denne stil:

// hvis vi siger din template ser sådan her ud:
private ITemplate m_SomeItemTemplate;
[
Browsable(false),
PersistenceMode(PersistenceMode.InnerProperty),
TemplateContainer(typeof(SomeViewItem), BindingDirection.TwoWay)
]     
public ITemplate SomeItemTemplate
{
  get { return m_SomeItemTemplate; }
  set { m_SomeItemTemplate = value; }
}

// i createchildcontrols:
protected override int CreateChildControls(IEnumerable dataSource, bool dataBinding)
{
  int items = 0;
  ...
  foreach (object o in dataSource)
  {
    SomeViewItem item = new SomeViewItem(o, items);
    Controls.Add(item);
    m_SomeItemTemplate.InstantiateIn(item);

    if (dataBinding)
    {
      item.DataBind();
      ...
    }

    items++;
  } 
  ...
  return items;
}

SomeViewItem vil så være container for den givne template, og vil typisk være en specialiserig af f.eks. et Panel, og desuden implementere hhv. INamingContainer og IDataItemContainer.

Mvh
Avatar billede superzapper Nybegynder
10. september 2006 - 18:02 #2
Er også sådan jeg har implementeret det, og nu virker det også pludselig "ud af det blå".

Tror problemet har været at VS ikke har fået overskrevet min dll når jeg har afviklet det - det har jeg ihvertfald oplevet tidligere.

Men mange tak for hjælpen, det bekræftede mig i det jeg havde lavet så det er perfekt.

Smid endelig et svar så får du point...
Avatar billede snepnet Nybegynder
10. september 2006 - 18:19 #3
Altid "alletiders" med den slags glitches... Men en svar får du her :o)
Mvh
Avatar billede superzapper Nybegynder
10. september 2006 - 19:30 #4
Ja, det er charmen ved WYSIWYG værktøjer...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester