I’m writing an ASP.NET app in which a table of objects is created by the user client-side.
I envisage them clicking “Add item” and a new ‘row’ is created in the table with textboxes for them to enter their stuff.
I can do this fine by adding HTML with jQuery. The problem is that one of the fields in the row for the user to fill in needs to be a colour picker.
I have an ASP.NET web user control for my colour picker. How do I add an instance of it to the page within my html row? Or am I barking up the wrong tree here – is there a better way of encapsulating the functionality of my colour picker so that it can be put on every row?
No, you can’t add a server-side asp.net control to a page that has already been rendered using client-side techniques (aka Javascript)
Two options:
Without seeing your UI, I can’t comment as to which would be best. The asp.net control might look nicer, but it might be difficult to work into your design. A pure client-side solution might fit your designer better, but might not look so good. You also need to consider what happens if / when a users adds lots of rows (this might be 10, 50 or 100 depending on your app /code). Lots of dynamically added controls (the first solution) might cripple the performance of the page.