[ASP.NET C#] Probleem met control in repeater

Pagina: 1
Acties:

  • T-Blizzard
  • Registratie: Juni 2001
  • Laatst online: 13:28
Ik ben bezig om een gastenboekje te bouwen in DotNetNuke.
Op zich wil dit allemaal best alleen zit ik nu al dagen met een "simpel" probleem
Ik heb in mijn tabel de "Email" en een "EmailShow" kolom.
Ik wil dus aan de gebruikers de mogenlijkheid geven om hun email wel of niet te laten zien.
Ik heb dus op mijn pagina een repeater met de volgende hyperlink:

code:
1
2
3
4
<!-- Email Link -->
<asp:HyperLink ID="gbEmail" runat="server" ImageUrl="~/desktopmodules/vdsGuestBook/Images/email.png"
Target="_blank" NavigateUrl='<%# "mailto:" + DataBinder.Eval(Container.DataItem, "gbEmail")%>'
Height="16" Width="16" CssClass="png"></asp:HyperLink>


Probleem is hoe krijg ik mijn HyperLink binnen die repeater visable = false vanuit mijn code behind?
Ik ben al bezig geweest met alle events van de repeater, en de findcontrol methode maar ik geraak maar niet bij mijn hyperlink :(.

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
 //bind the content to the repeater
for (int guestItems = 0; (guestItems <= (colvdsGuestBooks.Count - 1)); guestItems++)
{
   objGuestbook = colvdsGuestBooks[guestItems];

   if (objGuestbook.gbEmailShow == 0)
   {
          Debug.WriteLine("Geen email tonen " + objGuestbook.gbEmailShow);
   }
}

GuestBookRepeater.DataSource = colvdsGuestBooks;
GuestBookRepeater.DataBind();

  • whoami
  • Registratie: December 2000
  • Laatst online: 16:12
Moet je die check niet in de ItemDataBound doen van je repeater ?

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
protected void TheRepeater_ItemDataBound( object sender, RepeaterItemEventArgs e )
{
    if( e.Item.ItemType != ListItemType.Header &&
       e.Item.ItemType != ListItemType.Footer )
    {
         // Ik weet niet welk type je databinded, dus TheClass is hier 'dummy'
         TheClass bliep = e.Item.DataItem as TheClass;

         HyperLink l =  FindControl ("gbEmail");
   
         l.Visible = bliep.ShowEmail;
    }
}


Zoiets ongeveer...

https://fgheysels.github.io/


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 16:51

gorgi_19

Kruimeltjes zijn weer op :9

@ whoami: het zal dan wel iets zijn van e.item.findcontrol ipv findcontrol.

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • Mastermind
  • Registratie: Februari 2000
  • Laatst online: 17-01 10:57
C#:
1
2
3
4
5
6
7
8
9
10
11
protected void GuestBookRepeater_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
// eerst objGuestbook datasource ophalen

HyperLink hyperLink = e.Item.FindControl("gbEmail") as HyperLink;
if (hyperLink != null) 
{
     objGuestbook = colvdsGuestBooks[e.Index.ItemIndex];
     hyperLink.Visible = (objGuestbook.gbEmailShow != 0);
}
}

[ Voor 13% gewijzigd door Mastermind op 29-10-2006 18:12 ]


  • T-Blizzard
  • Registratie: Juni 2001
  • Laatst online: 13:28
Bedankt voor bovenstaande reacties ! _/-\o_

Het werkt nu kan ik weer verder bouwen :*)