Cambiar la acción HtmlForm en C # ASP.NET 3.5

Tengo un formulario como

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

Al acceder en C # code-behind via

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

y tratando de cambiar la acción con

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

o

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

no se hace ningún cambio. El formulario aún se dirige a la misma página. ¿Cómo puedo cambiar dinámicamente la acción del formulario en codebehind?

DETALLES ADICIONALES: Tengo una página que tiene una variable de obtención. Esa variable de obtención debe enviarse en la parte de acción del formulario. Entonces, la respuesta de page1 tiene getvar1. El formulario en la página 1 debe enviar sus datos de publicación y getvar1. Iba a ajustar esto a través del código subyacente en la acción del formulario, pero quería evitar el uso de InnerHtml para escribir todo el formulario. Holly sugirió javascript, pero no he encontrado una buena manera de obtener las variables GET con javascript. ..... solo más información para las masas.

RESPUESTA A LA EXPLICACIÓN: Elegí ir por la ruta que mencionó @HollyStyles. Utilicé javascript para cambiar la acción del formulario después de que se completara la llamada ajax. Sin embargo, la respuesta marcada como correcta es la forma correcta de hacerlo a través del código subyacente.

Respuestas a la pregunta(6)

Su respuesta a la pregunta