/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
.net: checkbox i repeater
Fra : Kim Bach Petersen


Dato : 04-06-02 16:39

Jeg har en repeater, som genererer et antal checkbox'e, der kalder
OnCheckedChange-event, når de ændres:

<asp:CheckBox id="CheckVis"
AutoPostBack="True"
Checked='<%#Databinder.Eval(Container.DataItem, "Vis")%>'
OnCheckedChanged="CheckedChanged"
runat="server"/>

Sub CheckedChanged(sender As Object, e As System.EventArgs)
lblStatus.Text=sender.Checked.ToString
End Sub

Nu vil jeg gerne kunne sende et argument med, der fortæller, hvilken række
tekstboksen tilhører (et tal via databinder) og tænkte, at EventArgs måtte
kunne bruges, når den nu alligvel er der.

Fortolkeren accepterer gerne, at jeg tilføjer

EventArgs='<%#Databinder.Eval(Container.DataItem, "SideId")%>'

men gør det ingen forskel på det javascript, som laver postback og 'e'
indeholder da heller ikke noget.

Noget tilsvarende fungerer fint med ImageButton (men her er dokumentationen
betydeligt klarere), så jeg tænker, at det må kunne gøres og at det blot er
en syntax-ting, der står i vejen - nogen bud?

Kim

--
· www.kensho.dk · psykologi og spiritualitet ·



 
 
Kim Bach Petersen (05-06-2002)
Kommentar
Fra : Kim Bach Petersen


Dato : 05-06-02 19:29

OK, jeg har forsøgt mig med en ny strategi, nemlig at udvide klassen
checkbox med en parameter og altså lave en brugerdefineret control, der
arver 'checkbox' - se nedenfor.

Det virker fint med traditionel syntax:

<MyTags:MyCheckBox
id="Check2"
AutoPostBack="True"
Checked="False"
Nummer="123"
runat="server"/>

Men hvis jeg forsøger at sætte 'Nummer' med en databinder/repeater,
returnerer den altid Nummer = 0.

Nummer='<%#Databinder.Eval(Container.DataItem, "SideId")%>'

Hvordan kan det nu være? Objektet 'MyCheckBox' er vel det samme og burde
have samme egenskaber uanset hvordan værdier tildeles?

Kim

PS: Jeg har fundet en 'workaround', men køn kode er det ikke. CheckBox har
egenskaben 'Text', der kan læses fra eventhandleren med sender.Text og
dermed angive, hvad checkboxen refererer. Ved at sætte 'style'-egenskaben,
så teksten bliver usynlig, kan det virke som parameteroverførsel.

' Udvidet CheckBox
Public Class MyCheckBox
Inherits CheckBox
Private _Nummer As Integer = 0
Public Property Nummer As Integer
Get
Return _Nummer
End Get
Set
_Nummer = Value
End Set
End Property
End Class






Søg
Reklame
Statistik
Spørgsmål : 177559
Tips : 31968
Nyheder : 719565
Indlæg : 6408938
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste