Alterar ação de HtmlForm no ASP.NET C # 3.5

Eu tenho um formulário como

<form id="form" action="" method="post" runat="server">

Ao acessar em code-behind c # via

HtmlForm form = (HtmlForm)this.FindControl("form");

e tentando mudar a ação com

form.Attributes.Add("action","./newpage.aspx?data=data");

ou

form.Attributes["action"] = "./newpage.aspx?data=data");

nenhuma mudança é feita. O formulário ainda encaminha para a mesma página. Como posso alterar dinamicamente a ação do formulário no codebehind?

DETALHES EXTRA: Eu tenho uma página que tem uma variável get. Essa variável get precisa ser enviada na parte de ação do formulário. Então, a resposta page1 tem getvar1. O formulário na página 1 precisa enviar seus dados de postagem e getvar1. Eu estava indo para ajustar isso via code-behind na ação do formulário, mas queria evitar o uso de InnerHtml para escrever o formulário inteiro. Holly sugeriu javascript, mas eu não encontrei uma boa maneira de obter GET vars com javascript. ..... apenas mais informações para as massas.

RESPONDER EXPLICAÇÃO: Eu escolhi seguir o caminho que o @HollyStyles mencionou. Eu usei o javascript para alterar a ação do formulário após a conclusão da chamada do ajax. No entanto, a resposta marcada como correta é o caminho certo para fazer isso via code-behind.

questionAnswers(6)

yourAnswerToTheQuestion