10. september 2006 - 14:27Der 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...
Virksomheder er på vej fra store sprogmodeller, der svarer på spørgsmål, til AI-agenter, der kan udføre opgaver på egen hånd. Det gør teknologien mere nyttig – og langt mere risikabel.
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.
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.