将任何无效 URL 或任何不存在的 URL 发送到 asp.net mvc3 中的自定义控制器
本文关键字:URL 任何 mvc3 net 自定义 控制器 asp 无效 不存在 | 更新日期: 2023-09-27 18:32:13
我是 asp.net MVC3 的新手。 我正在构建我的网站,其中我遇到了一个问题,我有一个名为 Home
的控制器和一个名为 Index
的方法,并且此索引方法现在根据这种情况采用参数 ID,有效的 URL 应如下所示"http://www。counterexample.com/Home/Index/1"但是如果用户键入像这样的 URL "http://counterexample.com/whatsisthis",我该怎么办。它肯定会给出404
错误,但我想这样做,当任何人键入这样的 URL 时,他应该被重定向到我在方法 ErrorDetails
上名为 Thunder
的另一个控制器,以及用户在 url 之后键入的所有字符/应该作为参数来到此方法,如下所示
public class ThunderController : Controller
{
public ActionResult ErrorDetails (string id)
{
var params = id ; // and the text "whatisthis" should store in param .
return View();
}
}
请注意,用户可以输入任何网址,例如
- http://counterexample.com/whatsisthis/this
- http://counterexample.com/whatsisthis/this/call
我希望所有这些 URL 或任何不存在的 URL 都应该重定向到我的方法"错误详细信息"。谢谢
您可以在 web.config 文件上设置自定义错误。
<customErrors mode="RemoteOnly" >
<error statusCode="404" redirect="/Thunder/ErrorDetails/" />
</customErrors>
引发 404 错误后,用户将被重定向到"错误详细信息"视图。
像这样使用自定义错误 (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>