Avatar billede c-sharp Nybegynder
21. februar 2007 - 09:42 Der er 8 kommentarer og
1 løsning

Skal kunne kende forskel på nested repeater

Jeg har lavet et site med en nested repeater. Den nested repeater bliver fyldt med forskellig data, i min OnItemDataBound for min nested repeater har jeg brug for at vide hvilken type data der er fyldt i repeateren. Hvordan kan jeg finde ud af det?

Jeg har prøvet at give repeateren et andet id for hver type, det virker også fint ind til jeg submitter siden efterfølgende så får jeg følgende fejl:

Invalid postback or callback argument.  Event validation is enabled using <pages enableEventValidation="true"/> in configuration or <%@ Page EnableEventValidation="true" %> in a page.  For security purposes, this feature verifies that arguments to postback or callback events originate from the server control that originally rendered them.  If the data is valid and expected, use the ClientScriptManager.RegisterForEventValidation method in order to register the postback or callback data for validation.
Avatar billede kalp Novice
21. februar 2007 - 09:47 #1
Går næsten ud fra du har prøvet det der står?
Benytte denne metode
http://msdn2.microsoft.com/en-us/library/ms223397.aspx

eller tilføje dette til toppen af siden
<%@ Page EnableEventValidation="true" %>

men det ikke altid det virker så for at være sikker kan du tilføje det web.config
<pages enableEventValidation="true"/>
Avatar billede c-sharp Nybegynder
21. februar 2007 - 10:09 #2
Hej Igen gawi :-)

EnableEventValidation skulle nok sættes til false...

Men jeg vil meget gerne undgå at disable EnableEventValidation, så det jeg leder efter er en løsning hvor dette ikke nødvendigt
Avatar billede kalp Novice
21. februar 2007 - 10:22 #3
Så skal det gøres med RegisterForEventValidation, som jeg ikke selv har leget med, men fandt nogle eksempler til dig hvori det bliver benyttet

http://forums.asp.net/1139510/ShowPost.aspx

http://www.velocityreviews.com/forums/t115194-sample-usage-of-clientscriptmanagerregisterforeventvalidation.html
Avatar billede kalp Novice
21. februar 2007 - 10:27 #4
Der er mange med det problem:)
Men MSDN viser eksemplet her.
http://msdn2.microsoft.com/en-us/library/ms366518.aspx
Avatar billede dr_chaos Nybegynder
21. februar 2007 - 14:23 #5
Hvilke værdier skal din "type" have  og hvad er formålet med det hele ?
Måske kan du placerer et hiddenfield sammen med din nested repeater og der igennem gemme "type" værdien.
Avatar billede c-sharp Nybegynder
21. februar 2007 - 14:36 #6
Formålet er at den innerset repeater kan indhold forskellige typer af data alt efter hvad den omkrinliggende repater indeholder. Så jeg finder ud af type og fylder data i den innerste repeater i den yderste repateres OnItemDataBound, når jeg så kommer i den innerstes repeaters OnItemDataBound skal jeg gerne kunne se hvilken type data den skal behandle.

Har også overvejet det med det hiddenfield men det kan jeg vel ikke komme i kontakt med fra OnItemDataBound medmindre det ligger i hver række og det er lidt overkill...
Avatar billede dr_chaos Nybegynder
21. februar 2007 - 14:46 #7
du kan så vidt jeg husker bruge noget i denne stil:
e.Item.Parent.FindCOntrol("dithiddenfield") eller
e.item.Parent.Parent.FindCOntrol("dithiddenfield")
Avatar billede c-sharp Nybegynder
21. februar 2007 - 15:20 #8
dr_chaos:
Ja det har du ret i :)

Så er jeg kørende igen, Mange tak for hjælpen smid svar så står jeg på spring for at hælde point i nakken på dig...

Også tak til gawi for en ivrig indsats!
Avatar billede dr_chaos Nybegynder
21. februar 2007 - 16:16 #9
svar :)
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester