作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在阅读一篇关于 mvc 的文章以实现不受控制的操作 http://www.codeproject.com/Articles/874284/ASP-NET-MVC-Performance-Tips?msg=5003414#xx5003414xx
他们为不受控制的行为编写此代码
protected override void HandleUnknownAction(string actionName)
{
RedirectToAction("Index").ExecuteResult(this.ControllerContext);
}
作者说,如果用户请求 http://localhost:58234/default/index1, index1 操作不存在,那么它将重定向到 default/index
我想开发一个基本 Controller 并放置一个例程来检测请求 url 是否存在操作方法或 Controller 。如果不存在,那么它会将用户重定向到具有查询字符串值的特定 Controller 的操作方法。因此,我们可以向用户显示一条友好的消息。
我仍然没有机会在办公室使用 mvc。出于好奇,我想知道如何使用 base controller
实现功能?
帮助我编写示例代码。谢谢
最佳答案
你可以简单地创建基类如下
public class BaseController : Controller
{
protected override void HandleUnknownAction(string actionName)
{
//Your code
RedirectToAction("Index").ExecuteResult(this.ControllerContext);
}
}
并且您的所有 Controller 都应该继承 BaseController
而不是 Controller
。
用例
YOURDOMAIN.COM\CorrectController\InCorrectActionMethod // `HandleUnknownAction` will be called
YOURDOMAIN.COM\InCorrectController\InCorrectActionMethod // `HandleUnknownAction` will be not be called, in this case 404 will be thrown.
关于asp.net-mvc - 如何将用户重定向到特定 Controller asp.net mvc 的操作方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28556877/
我是一名优秀的程序员,十分优秀!