Способ №1
Если необходимо перенаправить форму только по нажатию одной кнопки, то можно сделать так:
<%@ Page language="c#"%>
<script runat="server">
void Page_Load(object sender, EventArgs e) {
_myButton.Attributes.Add("onclick",
"document.forms[0].setAttribute('action','page2.aspx');");
}
</script>
<form runat="server">
<asp:Button runat="server" id="_myButton" Text="Click Me"/>
</form>
Способ №2
Если необходимо перенаправлять форму всегда, можно сделать как описано ниже либо воспользоваться способом №3
<%@ Page language="c#"%>
<script runat="server">
void Page_Load(object sender, EventArgs e) {
RegisterOnSubmitStatement("submit",
"document.forms[0].setAttribute('action','page2.aspx');");
}
</script>
<form runat="server">
<asp:Button runat="server" id="_myButton" Text="Click Me"/>
</form>
Способ №3
Унаследоваться от базового класса HtmlForm и переопределить метод RenderAttributes, чтобы нормально обрабатывалось свойство Action, а затем использовать данный контрол вместо стандартного.