【发布时间】:2013-10-09 08:47:03
【问题描述】:
有没有可能找到像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);
}
}
document.ready 不是我的情况。并且调用每个控制器的函数是最后的选择。代码必须在调用任何其他函数之前执行。在一切结束之前,我需要运行结束功能。例如,起初我需要为所有类创建共享的 mysql 连接器。最后我需要关闭 mysql 连接。
【问题讨论】:
-
你可以在mvc中使用布局
-
调用控制器中的函数。每次加载/重新加载页面时都会点击。
-
也许您正在寻找
ActionFilter?Application_BeginRequest也会触发静态文件。 -
BeginRequest 是个好主意,但我试过了,函数被调用了好几次,不止一次。
-
如@Stijn ActionFilter 所述,似乎是一个非常有趣的选择,允许保留轻量级控制器,而不用以技术为中心的层次结构阻碍您的代码。
标签: c# asp.net asp.net-mvc-4