I am a rock, I am an Island, and a rock feels no pain and an Island never cries
Door het OnClick event af te vangen? Misschien moet je maar een boek bijnemen, ze hebben hier graag dat je er zelf ook wat voor doet
oogjes open, snaveltjes dicht
Hoi,
Dank, maar nu weet ik dus nog steeds niet hoe ik dat voor elkaar kan krijgen, heb op internet nog geen bevredigend antwoord kunnen vinden...
Dank, maar nu weet ik dus nog steeds niet hoe ik dat voor elkaar kan krijgen, heb op internet nog geen bevredigend antwoord kunnen vinden...
I am a rock, I am an Island, and a rock feels no pain and an Island never cries
Dat moet je dus inderdaad níet doen in de Page_Load, maar je moet events afvangen op de buttons. Ik denk dat je eerst moet leren begrijpen hoe event-driven programming werkt, als ik het zo hoor.
Nee, dat begrijp ik wel. Maar het is dus niet mogelijk blijkbaar.
Ik ben bezig met datagrids volledig dynamisch op te bouwen en dat werkt op zich wel, maar 't is toch wat lastiger als het lijkt als je het nog niet (vaak) op die manier hebt gedaan. Er zijn wat problemen met postback events vanuit het datagrid.
Die buttons waar ik het over heb staan buiten het datagrid en met die buttons wil ik het aantal kolommen dynamisch aanpassen, dat werkt ook, maar de button_links binnen het datagrid doen het grid verdwijnen. Het lijkt of de subroutine die de kolommen opbouwt niet aangeroepen wordt. Blijkbaar heeft dat te maken met hun "state" die niet onthouden wordt.
Ik wil dus gewoon volledig bepalen welke en wat voor kolommen er aangemaakt moeten worden.
Barteke
Ik ben bezig met datagrids volledig dynamisch op te bouwen en dat werkt op zich wel, maar 't is toch wat lastiger als het lijkt als je het nog niet (vaak) op die manier hebt gedaan. Er zijn wat problemen met postback events vanuit het datagrid.
Die buttons waar ik het over heb staan buiten het datagrid en met die buttons wil ik het aantal kolommen dynamisch aanpassen, dat werkt ook, maar de button_links binnen het datagrid doen het grid verdwijnen. Het lijkt of de subroutine die de kolommen opbouwt niet aangeroepen wordt. Blijkbaar heeft dat te maken met hun "state" die niet onthouden wordt.
Ik wil dus gewoon volledig bepalen welke en wat voor kolommen er aangemaakt moeten worden.
Barteke
I am a rock, I am an Island, and a rock feels no pain and an Island never cries
Hoi, je hoeft niet telkens de groeten te doen onder je post, want dat leest een beetje irritant.
Als ik het me nog goed herinner, dan zal je toch die grid opnieuw moeten 'opbouwen' na een postback (ik kan verkeerd zijn, want het is nu toch al 2 jaar geleden dat ik nog eens wat met asp.net gedaan heb).
Ik denk dat het handig is, als je eens gaat kijken welke events er allemaal optreden als je een aspx pagina opvraagt, en in welke volgorde die gebeuren. Kijk ook eens welke events er voor wat 'geschikt' zijn.
Als ik het me nog goed herinner, dan zal je toch die grid opnieuw moeten 'opbouwen' na een postback (ik kan verkeerd zijn, want het is nu toch al 2 jaar geleden dat ik nog eens wat met asp.net gedaan heb).
Ik denk dat het handig is, als je eens gaat kijken welke events er allemaal optreden als je een aspx pagina opvraagt, en in welke volgorde die gebeuren. Kijk ook eens welke events er voor wat 'geschikt' zijn.
https://fgheysels.github.io/
Je zult bij asp.net pagina's altijd moeten kutten met IsPostBack en het opbouwen van bepaalde zaken alleen uitvoeren als het geen postback is. Dit komt door de volgorde van events. Vervolgens zul je dan in de event van de button de functie voor het opbouwen alsnog moeten aanroepen, zodat die altijd wordt uitgevoerd.
M'kay, geen groeten dus.
Ok, dan.
Ik heb een subroutine genaamd CreateColumns(), die twee parameters aanneemt, 1 van die parameters bepaald welke kolommen er aangemaakt moeten worden, de andere is nu niet van belang.
Die subroutine kan aangeroepen worden met een button die buiten het dynamisch aangemaakte DataGrid staat. Dat werkt dus goed.
Het gaat niet goed als ik die betreffende subroutine aanroep met een buttoncontrol die dynamisch toegevoegd is aan het DataGrid. En dat is wel nodig, want bij elke postback moet het grid opnieuw opgebouwd worden.
Ik kan CreateColumns() wel aanroepen in de page_load bijv., dat werkt op zich ook, maar dan kan ik dus niet met een van m'n buttons een parameter meegeven aan CreateColumns() zodat ik zo kan regelen welke kolommen er aangemaakt moeten worden.
Ok, dan.
Ik heb een subroutine genaamd CreateColumns(), die twee parameters aanneemt, 1 van die parameters bepaald welke kolommen er aangemaakt moeten worden, de andere is nu niet van belang.
Die subroutine kan aangeroepen worden met een button die buiten het dynamisch aangemaakte DataGrid staat. Dat werkt dus goed.
Het gaat niet goed als ik die betreffende subroutine aanroep met een buttoncontrol die dynamisch toegevoegd is aan het DataGrid. En dat is wel nodig, want bij elke postback moet het grid opnieuw opgebouwd worden.
Ik kan CreateColumns() wel aanroepen in de page_load bijv., dat werkt op zich ook, maar dan kan ik dus niet met een van m'n buttons een parameter meegeven aan CreateColumns() zodat ik zo kan regelen welke kolommen er aangemaakt moeten worden.
I am a rock, I am an Island, and a rock feels no pain and an Island never cries
Je kunt het best je Control opbouwen in een override van de CreateChildControls. Je zou dan in de eventhandler van je button bijvoorbeeld het aantal aan kunnen passen en ChildControlsCreated op false kunnen zetten.
“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”
Verwijderd
Het eenvoudige antwoord op je vraag is dat je via Request.Form["__EVENTTARGET"] waarschijnlijk wel kunt achterhalen op welke knop gedrukt is.
Het ingewikkelde antwoord is dat de oplossing die je bedacht lijkt te hebben er blijk van geeft dat je nog niet voldoende kennis hebt van zaken als de page lifecycle, viewstate en de event driven architectuur van ASP.NET. Dat is op zich geen schande overigens, want dat is gewoon ingewikkeld.
Ik zou adviseren een stapje terug te doen en te proberen het op de correcte manier op te lossen door in de voornoemde onderwerpen te duiken. Niet zozeer omdat dat nu technisch zo mooi is, maar vooral omdat het niet volgen van de richtlijnen over het algemeen tot moeilijk op te lossen problemen leidt. Als je echter tegen een deadline zit aan te hacken kun je wellicht oplossing #1 gebruiken.
Het ingewikkelde antwoord is dat de oplossing die je bedacht lijkt te hebben er blijk van geeft dat je nog niet voldoende kennis hebt van zaken als de page lifecycle, viewstate en de event driven architectuur van ASP.NET. Dat is op zich geen schande overigens, want dat is gewoon ingewikkeld.
Ik zou adviseren een stapje terug te doen en te proberen het op de correcte manier op te lossen door in de voornoemde onderwerpen te duiken. Niet zozeer omdat dat nu technisch zo mooi is, maar vooral omdat het niet volgen van de richtlijnen over het algemeen tot moeilijk op te lossen problemen leidt. Als je echter tegen een deadline zit aan te hacken kun je wellicht oplossing #1 gebruiken.
^^^^ Ja, je hebt wel gelijk denk ik.
Enfin, het werkt nu wel, maar ik vind het ook niet zo netjes in technisch opzicht, vandaar ook m'n vraag.
Kan iemand nog goede boeken aanraden over de wat meer geavanceerde technische aspecten van ASP .NET?
Enfin, het werkt nu wel, maar ik vind het ook niet zo netjes in technisch opzicht, vandaar ook m'n vraag.
Kan iemand nog goede boeken aanraden over de wat meer geavanceerde technische aspecten van ASP .NET?
I am a rock, I am an Island, and a rock feels no pain and an Island never cries
Pagina: 1