[ASP.NET] Datalist_ItemCreated

Pagina: 1
Acties:

  • UniCache2
  • Registratie: Januari 2001
  • Laatst online: 02-03 09:30
Hi,

Ik heb in mijn codebehind de volgende klasse:

code:
1
2
3
4
5
6
public void dlImages_ItemCreated(object sender, DataListItemEventArgs e)
  {
    e.Item.BorderWidth=10;
    e.Item.Attributes.Add("onMouseOver", "this.style.backgroundColor='#43C8F5'");
    e.Item.Attributes.Add("onMouseOut", "this.style.backgroundColor='#BFD62E'");
  }


Nu werkt de BorderWidth prima, deze wordt ook 10 pixels, de onmouseover en out worden echter helemaal niet toegevoegd aan de <td>, iemand een iedee hoe dit kan?

  • Riegstar
  • Registratie: Februari 2003
  • Niet online

Riegstar

Wadapatja!

Probeer het eens bij de ItemDataBound event.
(ik weet dat het daar niet hoort, maar proberen kan altijd)

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 15:00

gorgi_19

Kruimeltjes zijn weer op :9

Anders kan je sowieso een eigen datalistControl maken. :)

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • UniCache2
  • Registratie: Januari 2001
  • Laatst online: 02-03 09:30
Ok het schijnt dus dat dit een bekend probleem is, bij een datalist kan je geen Attributes.Add gebruiken.

Kan ik niet in mijn ItemTemplate aangeven dat de background color hiervan bij een mouseover een andere kleur moet krijgen?

code:
1
2
3
4
<ItemTemplate>
  <asp:ImageButton id=imagebutton runat="server" OnCommand="show_largeimage" BorderWidth="0" CommandName='<%# string.Concat(DataBinder.Eval(Container.DataItem,"sProductImageURL")) %>' CssClass="p2image" ImageUrl='<%# string.Concat("../includes/getLargeRightSideImage.aspx?sProdImageURL=",DataBinder.Eval(Container.DataItem,"sProductImageURL"),"&iHeight=",iImageHeightToResize,"&iWidth=",iImageWidthToResize) %>'>
  </asp:ImageButton>
</ItemTemplate>

  • UniCache2
  • Registratie: Januari 2001
  • Laatst online: 02-03 09:30
Voor de geinteresseerden hier een verklaring waarom het niet bij een datalist werkt:
Well, the reason is that the DataGridItem itself is never rendered, only
it's contents are. The <TD>s are optional and come from the DataList
(not DataListItem), which uses the RepeatLayout property to decide
whether to emit them.
Ik heb het nu opgelost door een extra tabel binnin de itemtemplate te zetten, waarvan de td's een mouseover en mouseout event toegewezen krijgen.

Het werkt nu dus wel, maar echt netjes is het niet. Heeft iemand een betere oplossing?

[ Voor 44% gewijzigd door UniCache2 op 13-05-2004 14:18 ]