use*_*536 4 c# asp.net asp.net-mvc-4
有找到功能的可能性Page_Load吗?我有MVC应用程序,我需要运行一些代码,每个页面加载,或重新加载,或我调用一些控制器.一切类的共享功能?
我尝试Application_Start,但这只执行第一次应用程序运行.我搜索了一些BeginRequest,但是这个函数已经多次调用,我只需要先加载页面,我需要结束函数,比如整个项目的构造函数和析构函数.
这是示例代码.
public class MvcApplication : System.Web.HttpApplication
{
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
}
}
Run Code Online (Sandbox Code Playgroud)
document.ready不是我的情况.并且每个控制器的调用功能都是最后一个 必须在调用任何其他函数之前执行代码.在结束之前,我需要运行结束功能.例如,首先我需要为所有类共享创建的mysql连接器.最后我需要关闭mysql连接.
使所有控制器继承自定义BaseController:
public class BaseController : Controller
{
protected override void OnActionExecuting(ActionExecutingContext context)
{
base.OnActionExecuting(context);
// your code here
}
}
public class HomeController : BaseController // instead of Controller
{
// ...
}
Run Code Online (Sandbox Code Playgroud)
Jan 的答案的更新。抽象方法onExecutingAction现在是公共的,不受保护。
public virtual void OnActionExecuting(ActionExecutingContext context);
Run Code Online (Sandbox Code Playgroud)
protected因此,重写时不能使用访问修饰符。相反,将其公开。
public class BaseController : Controller
{
public override void OnActionExecuting(ActionExecutingContext context)
{
base.OnActionExecuting(context);
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5337 次 |
| 最近记录: |