Itens não adicionados ao ListBox após o uso do jQuery .appendTo

Prefácio: A primeira vez que uso realmente o JavaScript + jQuery, é provável que o meu problema se deva à falta de compreensão.

Eu tenho um JavaScript muito simples para mover elementos de um ListBox para outro:

$('[id$=AddRole]').click(function () {
  $('[id$=MissingRoles] option:selected').appendTo('[id$=Roles]');
  return false;
});

$('[id$=RemoveRole]').click(function () {
  $('[id$=Roles] option:selected').appendTo('[id$=MissingRoles]');
  return false;
});

Isso funciona maravilhosamente - quando eu clico em um botão, os itens em uma lista se movem para o outro como você esperaria. Fantástico! Um botão é clicado forçando um postback. Na seção if (IsPostBack) do meu código, eu extraio a coleção de itens 'Roles' e imprimo cada item, supondo ver quaisquer novos itens que eu adicionei. Infelizmente, só recebo os itens originais que foram DataBound na lista. Eu não tenho o meu DataBind acidentalmente na seção IsPostBack, então eu sei que não estou simplesmente me ligando novamente.

Estou supondo que estou perdendo um passo aqui. Existe algo que eu preciso fazer para dizer ao .NET para realmente atualizar o conteúdo do ListBox? Adivinhar que tudo o que a jQuery está fazendo é puramente estético, mas não sei como comprometer suas alterações com meus controles.

questionAnswers(2)

yourAnswerToTheQuestion