7

MVC で無効な URL を処理するには?

例: ユーザーが http://localhost/User/Profileの代わりに http: //localhost/User/MyProfileを入力すると、例外がスローされます。

このリクエストを処理するにはどうすればよいですか?

4

3 に答える 3

12

まず、web.config にカスタム エラー ページの URL を追加する必要があります。

<customErrors mode="On" defaultRedirect="~/Error/404" />  

そして、無効な URL を処理するコントローラーを追加します。

public class ErrorController:Controller
    {
        [ActionName("404")]
        public ActionResult Error404()
        {
            return View("Error");
        }
    }

また、ユーザーをホームページにリダイレクトする場合は、カスタム エラー タグを変更するだけで、エラー コントローラーは必要ありません。

<customErrors mode="On" defaultRedirect="~/Home/Index" />  
于 2009-05-24T11:46:18.290 に答える
1

これのことですか?

// Show a 404 error page for anything else.
    routes.MapRoute("Error", "{*url}",
    new { controller = "Error", action = "404" }
);
于 2009-05-24T11:11:59.733 に答える
0

すべてのリクエストはフロントコントローラーにリダイレクトする必要があると思うので、例外をインターセプトする try/catch ブロック内にコードをラップします。catch ブロックでホームページにリダイレクトするか、単に例外ハンドラーで 404 エラーを発生させることができます。 .

サーバー言語は何ですか?

于 2009-05-24T11:05:56.670 に答える