Как скинуть 404 в модуль DotNetNuke - PullRequest
3 голосов
/ 13 марта 2012

Я хочу выбросить исключение 404 для файла, не найденное в моем модуле, но каждое исключение перехватывается DNN и не отображает мою страницу 404.aspx (только страница ошибки из DNN).

Inмой 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");

Ответы [ 3 ]

2 голосов
/ 13 марта 2012

просто сделайте это:

Response.StatusCode = 404;
Response.End(); 
0 голосов
/ 17 сентября 2018

Простое решение для ДНН

TabInfo errorPage404 = new TabController().GetTabByName("404 Error Page", this.PortalId);
Response.Redirect(DotNetNuke.Common.Globals.NavigateURL(errorPage404.TabID));
0 голосов
/ 14 марта 2012

Может быть, вам нужно сначала очистить ответ?

Response.Clear();
Response.StatusCode = 404;
Response.End(); 
...