が、これはので、これらのルートはどのようにのasp.net MVC:ルートは
/Product/3
/Product/8999
に動作しますProductIDの
routes.MapRoute(
"Product",
"Product/{productId}",
new {controller="Product", action="Details"},
new {productId = @"\d+" }
);
ために整数データを期待して、私のルートであると仮定と一致しない場合、我々はHTTPステータスコードを設定することができます私はこのシナリオでフレンドリーなエラーメッセージを表示できる既存のビューにユーザーをリダイレクトできますか?
もう1つ私が知りたいことは、ユーザーが/Product/apple
と入力したときに状態コードを設定できることです。このルートは一致しません。この場合、私はstatusCode="404"
を設定するのが好きです。私がそれを行うことができる場合customErrors
私はビューを指定した404エラーのために表示されます。私にそれをする方法を提案する?
<customErrors mode="Off" defaultRedirect="~/error.html">
<error statusCode="403" redirect="~/access-denied.aspx" />
<error statusCode="404" redirect="~/page-not-found.aspx" />
<error statusCode="500" redirect="~/error.html" />
</customErrors>
可能であればご案内ください。
を助け
ホープ・ '/製品/ apple'この要求は...あなたのルートで 2つのことを現在一致しませんあなたはすることができます... 1. productid正規表現を解析し、それを処理します 2.文字列に一致する新しいルートを追加し、perticularアクションを呼び出します。そのページの目的のリダイレクト –