![]() |
Web Development »
ASP.NET »
General
Intermediate
Adding controls to asp.net dynamically and persisting themBy Varun MahajanAdding controls to asp.net dynamically and persisting them |
VB8.0, Windows, .NET2.0, ASP.NET, WebForms, VS2005, Dev
|
||||||||
|
Advanced Search Add to IE Search |
|
|
|
||||||||||||||||
I have seen a lot on articles on the web for generating controls dynamically in asp.net page and retaining them on postback. But all of the articles seems to be quite complex. I just wanted to make the whole thing somewhat simpler. So check if this seems to be a simple way out to do that.
I shoult tell you the steps involved in generating controls dynamically
Table/Div container to the aspx page List(Of String)Page_PreRender generate the controls on the basis of these unique idsTo add a control on a Postback event(Say, click of a button), we have to generate that control in code. And then add it to a container like div or table, which must be already present in the aspx page. Like CreateATableRow function in the code does that like:
Dim rowAdditional As New TableRow()
rowAdditional.ID = textName + "ROWID"
Dim cellAdditinal As New TableCell()
cellAdditinal.ID = textName + "CELLID"
Dim textAdditional As New TextBox()
textAdditional.ID = textName + "TEXTID"
textAdditional.Text = textName
''add textbox to celll
cellAdditinal.Controls.Add(textAdditional)
'add cell to row
rowAdditional.Controls.Add(cellAdditinal)
Return rowAdditional
All the previous added controls IDs are maintained as a generic list as List(Of String) so as to add them at page rendering. List is also beneficial because we have to check that the new control ID does not exist already, which can be done by checking Contains function of that list like:
AdditionalEnteries.Contains(textToBeAdded)
After that all the contol IDs existing in AdditionalEnteries list are just rendered on Page_PreRender.
For Each keyEntry As String In AdditionalEnteries If Not String.IsNullOrEmpty(keyEntry) Then tblAdditionalControls.Controls.Add(CreateATableRow(keyEntry)) End If Next
Things done!!! Happy Coding.
Using of generic is optional here. But use of them make a lot of thing easier a lot of time, including this
| You must Sign In to use this message board. | ||||||||
|
||||||||
|
||||||||
|
||||||||
|
||||||||
General
News
Question
Answer
Joke
Rant
Admin
Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads.
|
PermaLink |
Privacy |
Terms of Use
Last Updated: 5 Jul 2007 Editor: |
Copyright 2007 by Varun Mahajan Everything else Copyright © CodeProject, 1999-2010 Web10 | Advertise on the Code Project |