Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

hyperlink i repeater

[es] :: .NET :: hyperlink i repeater

[ Pregleda: 3754 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

nristic
Hrvatska

Član broj: 11531
Poruke: 55
*.cmu.carnet.hr

Sajt: www.titlovi.net


Profil

icon hyperlink i repeater16.01.2004. u 23:09 - pre 246 meseci
U user kontroli imam jednu repeater kontrolu oblika
<asp:repeater .....>
<headertemplate>.....</>
<itemtemplate>
<asp:hyperlink>......</item...>
<footertemplate>...</footr...>
</asp:repeater>

U code behind klasi se spajam na bazu itd.
Problem nastaje da kada u svojstvo NavigateUrl želim upisati
link oblika index.asp?id=<%# Container.DataItem("id") %>...
dobijem grešku.

Probao sam svakakve verzije ali ni jedna ne valja.

Kad stavim samo ovo onda radi
NavigateUrl= '<%# Container.DataItem("id") %>'

Kako to rješiti.Stvarno mislim da sam sve već probao.


 
Odgovor na temu

havramm
Miroslav Havram
Software Developer / Engineer
Beograd

Član broj: 4603
Poruke: 255
*.proxy.cg.yu



Profil

icon Re: hyperlink i repeater17.01.2004. u 00:45 - pre 246 meseci
Probaj sa

Code:

NavigateUrl='<%# DataBinder.Eval(Container.DataItem, "id")%>'


I meni se slicno desavalo i bas me zanima sta dobijes kada stavis

Code:

NavigateUrl='<%# Container.DataItem("id")%>'


po MSDN-u (Repeater.ItemTemplate Property) sam vidjao i nesto ovako

Code:

...
<ItemTemplate>
    <tr>
        <td> <%# Container.DataItem %> </td>
    </tr>
</ItemTemplate>
...


ovo poslednje nisam probao, ali bas bih voleo da znam razliku...

[Ovu poruku je menjao havramm dana 17.01.2004. u 16:37 GMT]
If it's a girl then they're gonna call it Sigourney, after an actress. If it's a boy, then they're gonna call it Rodney, after Dave!
 
Odgovor na temu

mmix
Miljan Mitrović
Profesorkin muz
Passau, Deutschland

SuperModerator
Član broj: 17944
Poruke: 6042



+4631 Profil

icon Re: hyperlink i repeater17.01.2004. u 10:54 - pre 246 meseci
Citat:
havramm:
Code:

NavigateUrl='<%# DataBinder.Eval(Container.DataItem, "id")%>'

po MSDN-u sam vidjao i nesto ovako

Code:

...
<ItemTemplate>
    <tr>
        <td> <%# Container.DataItem %> </td>
    </tr>
</ItemTemplate>
...


ovo poslednje nisam probao, ali bas bih voleo da znam razliku...


Elem, opet po MSDNu:
DataBinder.Eval uses reflection to parse and evaluate a data-binding expression against an object at run time. This method allows RAD designers, such as Visual Studio .NET, to easily generate and parse data-binding syntax. This method can also be used declaratively on a Web Forms page to simplify casting from one type to another.

Efektivno, po cenu performanse lišava te potrebe da usklađuješ tipove da bi izbegao runtime greške pri izvršavanju stranice. Simplified casting je npr.
Code:
<%# DataBinder.Eval(Container.DataItem, "Price", "{0:c}") %>

gde se Price, vorovatno tipa DBType.Currency, konvertuje u string po locale-specific prikazu novčanih iznosa. Bez Eval-a ovaj izraz bi bio nešto nalik na (ovde nemojte da me držite za reč, nije probano, verovatno mu mešto fali :))
Code:
<%# ((System.Double)((((System.Data.DataRowView)(Container.DataItem))["Price"]))).ToString("{0:c}") %>


Zamislite da ovo morate da ukucate za svaki bindable element, bilo bi užasno, te su stoga izmislili DataBinder helper-a.

Nazad na prvobitno pitanje, pošto binding izraz ne mora da bude samo vrednost već može biti i izraz koji daje neku vrednost, samo stavi u hyperlink:

Code:

NavigateUrl='<%# "index.asp?id=" + DataBinder.Eval(Container.DataItem, "id")%>'


Pozdrav

Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan, sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv… - Z.Đinđić
 
Odgovor na temu

nristic
Hrvatska

Član broj: 11531
Poruke: 55
*.cmu.carnet.hr

Sajt: www.titlovi.net


Profil

icon Re: hyperlink i repeater17.01.2004. u 12:45 - pre 246 meseci
Hvala čovječe.Produžio si mi živit.Inače ne radi mi sa + nego sa &.
Zar to ne bi trebalo biti isto. ??


Citat:
mmix:
Citat:
havramm:
Code:

NavigateUrl='<%# DataBinder.Eval(Container.DataItem, "id")%>'

po MSDN-u sam vidjao i nesto ovako

Code:

...
<ItemTemplate>
    <tr>
        <td> <%# Container.DataItem %> </td>
    </tr>
</ItemTemplate>
...


ovo poslednje nisam probao, ali bas bih voleo da znam razliku...


Elem, opet po MSDNu:
DataBinder.Eval uses reflection to parse and evaluate a data-binding expression against an object at run time. This method allows RAD designers, such as Visual Studio .NET, to easily generate and parse data-binding syntax. This method can also be used declaratively on a Web Forms page to simplify casting from one type to another.

Efektivno, po cenu performanse lišava te potrebe da usklađuješ tipove da bi izbegao runtime greške pri izvršavanju stranice. Simplified casting je npr.
Code:
<%# DataBinder.Eval(Container.DataItem, "Price", "{0:c}") %>

gde se Price, vorovatno tipa DBType.Currency, konvertuje u string po locale-specific prikazu novčanih iznosa. Bez Eval-a ovaj izraz bi bio nešto nalik na (ovde nemojte da me držite za reč, nije probano, verovatno mu mešto fali :))
Code:
<%# ((System.Double)((((System.Data.DataRowView)(Container.DataItem))["Price"]))).ToString("{0:c}") %>


Zamislite da ovo morate da ukucate za svaki bindable element, bilo bi užasno, te su stoga izmislili DataBinder helper-a.

Nazad na prvobitno pitanje, pošto binding izraz ne mora da bude samo vrednost već može biti i izraz koji daje neku vrednost, samo stavi u hyperlink:

Code:

NavigateUrl='<%# "index.asp?id=" + DataBinder.Eval(Container.DataItem, "id")%>'


Pozdrav


 
Odgovor na temu

mmix
Miljan Mitrović
Profesorkin muz
Passau, Deutschland

SuperModerator
Član broj: 17944
Poruke: 6042



+4631 Profil

icon Re: hyperlink i repeater17.01.2004. u 14:03 - pre 246 meseci
Citat:
nristic:
Hvala čovječe.Produžio si mi živit.Inače ne radi mi sa + nego sa &.
Zar to ne bi trebalo biti isto. ??


Nije, + se koristi kad ti je stranica u C#-u, a & kad je u vb.net-u. Ja sam (očigledno pogrešno) pretpostavio da radiš u C#-u.

Operator je isti samo se drugačije označava...

Pozdrav
Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan, sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv… - Z.Đinđić
 
Odgovor na temu

[es] :: .NET :: hyperlink i repeater

[ Pregleda: 3754 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.