カスタム 404 ページを持っていますが、404 マッピングがそのページのフォームを壊してしまうという問題があります。
見つからないすべてのページでカスタム 404 ページを実行して返すようにサイトを構成しました。
<httpErrors existingResponse="Auto">
<remove statusCode="500" subStatusCode="-1" />
<remove statusCode="404" subStatusCode="17" />
<remove statusCode="404" subStatusCode="-1" />
<error statusCode="404" prefixLanguageFilePath="" path="/404.aspx" responseMode="ExecuteURL" />
<error statusCode="404" subStatusCode="17" path="/404.aspx" responseMode="ExecuteURL" />
<error statusCode="500" path="/500.aspx" responseMode="ExecuteURL" />
</httpErrors>
私のマスター ページには、すべてのコンテンツをラップするフォームが含まれています。
<form runat="server">
/xyz (つまり、実際のページではない) に移動すると、フォーム アクションはその存在しないページを指すものとして与えられます。
<form method="post" action="xyz?404%3bhttp%3a%2f%2fsite.example.com%3a80%2fsite%2fxyz" id="ctl01">
したがって、そのページでポストバック (ボタンのクリックなど) を送信すると、ポストバックは /xyz に POST されます。もちろん、これは実際のページではないため、フォーム処理が行われる前に404 にリダイレクトされます。 . その結果、onclick が呼び出されることはありません。
どうにかして、フォーム アクションが見つからないページ (/xyz) ではなく実際のページ ( /404.aspx ) を指すようにする必要があると思いますが、どうすればよいでしょうか?