2

カスタム 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 ) を指すようにする必要があると思いますが、どうすればよいでしょうか?

4

2 に答える 2