Jeg synes mere det ligner en databinding end et postback med en eller anden kommando. Hvis det er tilfældet, håndteres din udfordring nok bedre med Eval("feltnavn") de steder hvor data skal indsættes... men som buzzzz siger, så fortæl hvad det er du vil, for det er ikke let at se ud fra dit spørgsmål.
Som softspot skriver, hvorfor ikke gøre det i din Repeater?
Som jeg forstår det, så prøver du at sige.
Jeg skal have udskrevet min liste af kurser hvor "udbudtekurser" er true, og der skal kun være en knap til at tilmelde sig hvis feltet "tilmelding" er true. Hvordan kan jeg nemmest gøre det?
I codebehind skal du så reagere på CommandName == "tilmeld" i repeaterens OnItemCommand-event for at håndterer selve tilmeldingen.
Jeg antager, i eksemplet, at kurset har et kursusid, men det kan være du har en anden indentificeringsmekansme for tilmeldingshandlingen og det er så blot den du skal indsætte i stedet for Eval("KursusId") i CommandArguments.
Altså, til hvert kursus er der en tilmeldings knap. denne tilmeldings knap tjekker først via af en if sætning om alle pladser er fuldt op eller ikke. hvis de er, så skal button være deaktiveret. hvis ikke så er der åben for tilmelding. men min stor problem var at hvordan jeg fandt noget inde i en repeater. men det du skrev burde virke.
Han siger han lægger svar, hvis du mener han har hjulpet dig med dig spørgsmål, da du ikke direkte sagde du kunne bruge det han skrev, men bare kom med en hentydning til at du faktisk brugte noget af det han skrev.
Det er heller ikke helt til at finde ud af hvad du vil. Synes du hopper lidt frem og tilbage.
Vi har heller ingen ide om hvor din data kommer fra. Lyder som om du henter den fra serveren ... derefter laver lidt procesering for at finde ud af om der stadig er pladser. Hvis der er pladser sætter du en værdi til "Tilmelding" til true. Men det er kun gæt.
Lige nu prøver jeg bare at generere en knap med lidt statisk indhold. for at se om jeg kan finde ud af at sætte en knap inde i et panel.
hvis jeg fjerner denne stumpe kode Panel newpanel = (Panel)Repeater_udbudteKurser.FindControl("Panel_Button"); Button LB = new Button(); LB.ID = "Button"; LB.Text = "Tilmed dig"; LB.Width = 135; newpanel.Controls.Add(LB);
Virker min kode, og repeateren kører
Dette er min kode hvor jeg har tilføjet den henne private void Hentudbudtekurser() { Panel_visdropdown.Visible = true; MultiView_VisKursus.SetActiveView(View_udbudteKurser); List<Udbudtekurser> udbudteKurser = new List<Udbudtekurser>(); SqlConnection Conn; SqlCommand cmd; SqlConnection(out Conn, out cmd); cmd.CommandType = CommandType.StoredProcedure;
Det virker som om du kommer fra en anden platform end ASP.NET og at du gerne vil gennemtvinge din sædvanlige måde at gøre tingene på. Det er bare ikke oplagt at gøre det du illustrerer med din kode, på den måde du gør.
Det jeg har vist dig i #11 ville være den oplagte måde at gøre det på når du bruger webforms og server controls (den findes i forskellige variationer, men i princippet).
Ups! Sorry buzzzz, jeg så ikke din kommentar, men kan så konstatere at jeg jo er helt enig med dig :-)
Synes godt om
Ny brugerNybegynder
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.