0

我正在将一个 asp.net webforms 应用程序移植到 mvc.net。我有一个 OR 框架,需要在执行任何数据库操作之前创建一个 DataSession 对象。

在我当前的网络表单应用程序中,我在 Page_Init 事件期间实例化 DataSession,在 Page_UnLoad 事件期间我清除对象。

我正在寻找与 mvc.net 类似的东西。我最初开始使用 OnACtionExecuting(在动作之前引发)和 OnActionExecuted(在动作之后引发)。但是,在页面呈现期间,由于 DataSession 不再可用,实体的一些延迟加载会失败。我需要的是在视图渲染后会触发的东西。

4

3 回答 3

5

您不应该让延迟加载发生在您的视图页面中。这意味着视图访问的数据打破了 MVC 的整个观点。

相反,您应该在控制器中获取全部数据,然后将其传递给您的视图。

于 2010-12-10T19:45:25.923 回答
2

加载 db 连接OnActionExecuting 并在OnResultExecuted.

虽然我会在 global.asax 中使用Application_BeginRequest和。Application_EndRequest

于 2010-12-10T20:03:03.607 回答
1

我以前没有使用过这些方法,但可能会考虑覆盖 OnResultExecuted 或 OnResultExecuting。

于 2010-12-10T19:27:29.290 回答