When you add dynamic control then you have to take care of their state, by default the state is not maintained. Simplest way to retrieve the value of the dynamic control on post back is to use
Request.Form[“NameOfTheControl”]
. The other way is to write your custom control and handle the view state by yourself.
You can also check following CP article.
Retaining State for Dynamically Created Controls in ASP.NET applications[
^]
Once you are able retrieve the values at server side its a simple task to make them comma separated.
[Edit]
Found one more useful article.
http://www.4guysfromrolla.com/articles/092904-1.aspx[
^]