MVC 5 HttpErrors + Controller/Action

2019-06-17 01:53发布

How can I change error path to my controller/action with httpErrors?

I have this code:

<httpErrors errorMode="Custom">
  <remove statusCode="404"/>
  <error responseMode="ExecuteURL" statusCode="404" path="Error/HttpRequestError"/>
</httpErrors>

But it doesn't work. Empty page shows and action not entered.

What i do wrong?

P.S. I know about another way to sovle custom page errors. But i want try to use it.

Thanks!

3条回答
Emotional °昔
2楼-- · 2019-06-17 02:17

I resolve a problem. This code of web.config works:

<httpErrors errorMode="Custom" existingResponse="Replace">
  <remove statusCode="404"/>
  <error statusCode="404" responseMode="ExecuteURL" path="/Error/404"/>
</httpErrors>

Now entered in ErrorsController/NotFound action(marked with routing atribute ActionName to 404).

查看更多
萌系小妹纸
3楼-- · 2019-06-17 02:27

If Sergey Shoshin's answer does not work.

<httpErrors errorMode="Custom" existingResponse="Replace">
      <remove statusCode="404"/>
      <error statusCode="404" responseMode="ExecuteURL" path="[optional virtual directories...]/Error/404"/>
</httpErrors>
查看更多
戒情不戒烟
4楼-- · 2019-06-17 02:35

Why dont you simply redirect the url for 404

<customErrors mode="RemoteOnly"  defaultRedirect="~/error">
    <error statusCode="404" redirect="~/Error/HttpRequestError" />    
</customErrors
查看更多
登录 后发表回答