In your example you have given datasourceID, dataTextfield in htmlSource but it's static.
do the same thing in code behind to make it dynamic, here is code. call it on button click.
lstBox.DataSourceID=sqlDataSource1;
lstBox.DataTextField="fld1";
lstBox.DataValueField="fld2";
lstBox.DataBind();