私は次のようなフォームを持っています
<form id="form" action="" method="post" runat="server">
C#コードビハインドでアクセスする場合
HtmlForm form = (HtmlForm)this.FindControl("form");
でアクションを変更しようとしています
form.Attributes.Add("action","./newpage.aspx?data=data");
また
form.Attributes["action"] = "./newpage.aspx?data=data");
変更はありません。フォームは引き続き同じページにルーティングされます。コードビハインドでフォームのアクションを動的に変更するにはどうすればよいですか?
詳細: get 変数を含むページがあります。その get 変数は、フォームのアクション部分で送信する必要があります。したがって、page1 の応答には getvar1 があります。page1 のフォームは、投稿データと getvar1 を送信する必要があります。フォームのアクションでコード ビハインドを介してこれを調整するつもりでしたが、InnerHtml を使用してフォーム全体を記述することは避けたいと考えていました。Holly は JavaScript を提案しましたが、JavaScript で GET 変数を取得する良い方法が見つかりませんでした。.....大衆向けの追加情報です。
回答説明: @HollyStyles が言及したルートを選択しました。ajax呼び出しが完了した後、javascriptを使用してフォームアクションを変更しました。ただし、正しいとマークされた回答は、分離コードを介してこれを行う正しい方法です。