したがって、別のサイトを指すアクションを使用してユーザーのブラウザにレンダリングされるフォームがあり、フォームの送信時にフォームフィールドの1つが送信されないようにする必要があります。
その場合、値が投稿されていないことを絶対に確認できないように思えます。javascriptを使用してこれを解決する方法はたくさんあります(入力を無効にする、送信する前に値をクリアするなど)が、スクリプトがオフになっている場合は運が悪いと思います。
ただし、フォームを他のサーバーに送信する準備をすることができるので(フォームのアクションを変更するか、PostBackUrlでボタンを有効にする)、テキストボックスのEnabledプロパティをfalseに設定することもできると思います。つまり、他のサーバーに投稿する前に、最終ページで編集することはできなくなります。または、テキストボックスaを非表示にして(まったくリネリングされないように)、代わりにフィールドをラベルまたはリテラルとして表示することもできます。
ただし、それでも、フォームのビューステートにシークレット値が含まれていないことを何らかの方法で確認する必要があります。ラベルまたはリテラルを使用する場合はどちらになりますか。また、最後のポストバックで無効化または非表示にされたテキストボックスの場合。通常、ビューステートはbase64でエンコードされた文字列であるため、そこからクレジットカード番号を見つけるのは簡単です。他のサーバーに投稿するためにフォームを設定する前に、最後の投稿で問題のコントロール(またはページ全体)のビューステートをオフにしてページに戻すことで、これを修正できる可能性があります。
どちらがサーバーへの最後のポストバックになるかわからない場合は、さらに重要な変更を加えないと運が悪いと思います。ダウナーになってすみません。Asp.Net Webフォームでは、一見些細なことのいくつかは難しいものです。
たぶん、他のサーバーに送信する必要のあるデータだけを入力する別のページを追加して、そのような「確認ページ」を作成することもできます。そのページでは、ビューステートをオフにし、要約されたすべてのデータを表示し(ラベルやリテラルなどを使用)、投稿する実際のデータを非表示フィールドとしてフォームに含めることができます。次に、ユーザーが「確認」すると、そのフォームは他のサーバーに投稿されます。