1

私はasp.netmvc3の新人です。私は自分のサイトを構築していますが、コントローラーという名前がHomeあり、その中にメソッドという名前がIndexあり、このインデックスメソッドはパラメーターIDを取ります。この状況に応じて、有効なURLは次のようになります。 "http:// www .counterexample.com / Home / Index / 1 "ですが、ユーザーがこの「http://counterexample.com/whatsisthis」のようなURLを入力した場合はどうすればよいですか。それは404間違いなくエラーになりますが、誰かがこのようなURLを入力するとThunder、メソッドErrorDetailsで指定された別のコントローラーにリダイレクトされ、/の後にユーザーがurlで入力したすべての文字が次のようなパラメーターとしてこのメ​​ソッドに来る必要があります

 public class ThunderController : Controller
{
    public ActionResult ErrorDetails (string id)
    {
        var params = id ; // and the text "whatisthis" should store in param . 
        return View();
    }

}

ユーザーは次のような任意のURLを入力できることに注意してください

  1. http://counterexample.com/whatsisthis/this
  2. http://counterexample.com/whatsisthis/this/call

これらすべてのURLまたは存在しないURLをメソッド「ErrorDetails」にリダイレクトする必要があります。ありがとう

4

2 に答える 2

1

web.configファイルでカスタムエラーを設定できます。

<customErrors mode="RemoteOnly" >
   <error statusCode="404" redirect="/Thunder/ErrorDetails/" />
 </customErrors> 

404エラーがスローされると、ユーザーはErrorDetailsビューにリダイレクトされます。

于 2012-04-26T07:15:57.580 に答える
0

次のようなカスタムエラー(web.config)を使用します。

<customErrors mode="On" >
   <error statusCode="404" redirect="/Thunder/ErrorDetails/" />
   <!-- You can add other error codes or a generic one for other status codes here -->
</customErrors>  
于 2012-04-26T07:13:36.923 に答える