【问题标题】:asp.net mvc page lifecycle eventasp.net mvc 页面生命周期事件
【发布时间】:2011-07-16 13:47:57
【问题描述】:

目前我们正在将现有的 asp.net web 应用程序迁移到 asp.net mvc 2 平台。我们所有的页面在加载页面或初始化页面之前都会执行一些业务功能。如何在 asp.net mvc 中实现这种类似的行为

我们目前在这样的 web 应用程序的 pagebase 类中的逻辑.. 如果(!Page.IsPostBack) // Presenter.PerformStartUp()

请帮忙。

谢谢 苏布

【问题讨论】:

    标签: asp.net-mvc-2


    【解决方案1】:

    ASP.NET MVC 与您在经典 WebForms 中使用的模式完全不同。 MVC 中没有事件。 MVC 中没有页面。 MVC 中有 PostBack 的概念。 MVC 中没有 ViewState。 MVC 中没有服务器端控件。

    在 MVC 中,您有一个控制器,它接收用户请求,它操纵模型并将视图模型传递给视图以进行显示。一个好的起点在这里:http://asp.net/mvc

    如果您尝试迁移的现有应用程序已正确编写并且它最多有一个服务层和一个数据访问层,那么您可以将这些部分重用到新的 ASP.NET MVC 应用程序中。

    【讨论】:

      【解决方案2】:

      在 asp.net mvc 中,您可以通过使用属性 [HttpPost] 和 [HttpGet](默认为 HttpGet)来装饰它们来创建 ActionResult 方法,这就是 Get 和 Post 之间的区别。

      【讨论】:

      • 谢谢。但是如果用户按下 F5(刷新)我们不想调用启动逻辑
      • 我不知道启动逻辑是什么,但在 mvc 中没有视图状态,所以如果用户按 f5 你仍然需要处理 get 因为它不会“记住“之前发生的事情,我确信有一种方法可以按照您的要求进行操作,但对我来说,它将围绕存储用户之前所做的事情,如果他碰巧两次做同样的事情会中止第二次尝试。跨度>
      • 我们有屏幕前逻辑(在导航到此页面时),当用户离开页面时,我们会触发屏幕后逻辑。我们如何以通用方式将这些自定义逻辑连接到管道中所有页面
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-01
      • 1970-01-01
      • 2012-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多