4

モジュールから404ファイルが見つからない例外をスローしたいのですが、すべての例外がDNNによってキャッチされ、404.aspxページが表示されません(DNNからのエラーページのみ)。

私のweb.configに追加しました:

<httpErrors errorMode="Custom" defaultResponseMode="File">
  <remove statusCode="404" />
  <error statusCode="404" prefixLanguageFilePath="" path="/404.aspx" responseMode="ExecuteURL" />
</httpErrors>

<customErrors mode="On">
  <error statusCode="404" redirect="~/404.aspx" />
</customErrors>

存在しないページを開くときにうまく機能します。しかし、私のモジュールで同じことをしようとしても、同じ結果は得られません...

私は成功せずに次のことを試みました:

throw new HttpException(404, "Not Found");
4

3 に答える 3

1

これを行うだけです:

Response.StatusCode = 404;
Response.End(); 
于 2012-03-13T17:28:07.647 に答える
1

DNNのシンプルなソリューション

TabInfo errorPage404 = new TabController().GetTabByName("404 Error Page", this.PortalId);
Response.Redirect(DotNetNuke.Common.Globals.NavigateURL(errorPage404.TabID));
于 2018-09-17T12:04:09.753 に答える
-1

たぶん、最初に応答をクリアする必要がありますか?

Response.Clear();
Response.StatusCode = 404;
Response.End(); 
于 2012-03-13T22:52:38.717 に答える