1

我是 asp.net mvc3 的新手。我正在构建我的站点,在该站点中我遇到了一个问题,即我有一个命名的控制器Home和一个命名的方法,Index并且此索引方法现在根据这种情况采用参数 id,有效的 url 应该是这样的“http://www .counterexample.com/Home/Index/1"但是如果用户键入这样的 url,我应该怎么做"http://counterexample.com/whatsisthis"。它肯定会给出404错误,但我想这样做,当任何人键入这样的 URL 时,他应该被重定向到我的另一个名为Thunderon 方法的控制器,ErrorDetails并且用户在 / 之后在 url 中键入的所有字符都应该作为参数进入此方法,如下所示

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

}

请注意,用户可以输入任何网址,例如

  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 回答