none
webform 与 mvc 的aspx有区别吗 RRS feed

  • 问题

  • 刚开始学mvc,有些不明白的地方。

    webform的aspx是继承自page类,mvc的page也是如此么?如果一样,那性能应该没区别?

     

    2010年11月2日 13:54

答案

  • 你好:

    肯定是不一样的。而且性能也不能完全从继承类来看。webform是使用viewstate来保存服务器控件的状态的,但mvc是不需要的,从这点上来看。mvc生成的页面就比webform小很多。就我所知,mvc是继承于System.Web.Mvc.ViewPage类。

    ASP.NET MVC框架只是给开发者提供了一个开发web应用程序的一种选择,并不是要取代Webform
    这两种技术各有优缺点,开发者需要根据实际情况,选择对应的技术
    有时候,可以在同一个项目中混合使用这两种技术

    ASP.NET MVC易于进行单元测试,避免了WebForm中大量的ViewState导致页面文件变得臃肿,没有数据回传,没有在页面中保存视图状态,开发者可以完全掌控页面的呈现过程,易于测试驱动开发,可扩展、可替换,支持WebForm中的有关特性,如:用户控件、母版页、数据绑定、本地化等,不在基于文件目录结构,而是将URL映射到控制器中

    http://archive.cnblogs.com/a/1774036/

    希望对你有所帮助。


    I am here!
    • 已标记为答案 ogra 2010年11月4日 10:53
    2010年11月3日 6:08
    版主
  • 你说的 aspx 应该是MVC 的 view ,在 ASP.NET MVC 1.0 和 2.0 中“默认”将 WebForm 作为视图引擎, MVC可以同时使用多个视图引擎,例如 3.0 马上要推出的Razor ,功能比较强大,个人非常喜欢。MVC没有事件这个概念,所以个人觉得不会执行这些概念。如果你学过Java 里面的 MVC 框架,很容易快速上手。
    • 已标记为答案 ogra 2010年11月4日 10:53
    2010年11月3日 8:58
  • 你好:

    就我所知mvc的post都是按原始的方式进行或使用ajax方法。不需要使用回发的控件服务端事件。ajax调用action方法就类似于调用webservice方法一样。而webform中的事件也可以理解为javascript提交的post方法去触动后台的控件方法。


    I am here!
    • 已标记为答案 ogra 2010年11月4日 10:53
    2010年11月4日 2:40
    版主

全部回复

  • 你好:

    肯定是不一样的。而且性能也不能完全从继承类来看。webform是使用viewstate来保存服务器控件的状态的,但mvc是不需要的,从这点上来看。mvc生成的页面就比webform小很多。就我所知,mvc是继承于System.Web.Mvc.ViewPage类。

    ASP.NET MVC框架只是给开发者提供了一个开发web应用程序的一种选择,并不是要取代Webform
    这两种技术各有优缺点,开发者需要根据实际情况,选择对应的技术
    有时候,可以在同一个项目中混合使用这两种技术

    ASP.NET MVC易于进行单元测试,避免了WebForm中大量的ViewState导致页面文件变得臃肿,没有数据回传,没有在页面中保存视图状态,开发者可以完全掌控页面的呈现过程,易于测试驱动开发,可扩展、可替换,支持WebForm中的有关特性,如:用户控件、母版页、数据绑定、本地化等,不在基于文件目录结构,而是将URL映射到控制器中

    http://archive.cnblogs.com/a/1774036/

    希望对你有所帮助。


    I am here!
    • 已标记为答案 ogra 2010年11月4日 10:53
    2010年11月3日 6:08
    版主
  • 下了mvc的源代码看了下,虽然mvc是继承于System.Web.Mvc.ViewPage,但ViewPage也是继承于Page类。WebForm来说,完全不用ViewState也是可以的。

    疑问是:MVC中的aspx加载时,不会按次序执行oninit,onload之类的事件么?感觉既然用到了这种方式,这些事件应该不用执行,但他是怎么做到的呢?

    2010年11月3日 8:46
  • 你说的 aspx 应该是MVC 的 view ,在 ASP.NET MVC 1.0 和 2.0 中“默认”将 WebForm 作为视图引擎, MVC可以同时使用多个视图引擎,例如 3.0 马上要推出的Razor ,功能比较强大,个人非常喜欢。MVC没有事件这个概念,所以个人觉得不会执行这些概念。如果你学过Java 里面的 MVC 框架,很容易快速上手。
    • 已标记为答案 ogra 2010年11月4日 10:53
    2010年11月3日 8:58
  • java是一窍不通,asp.net也是一知半解。只是觉得既然继承了Page类,应该有事件,但既然是用mvc,那么应该不存在事件,觉得有些矛盾。望指教。
    2010年11月3日 10:51
  • 你好:

    就我所知mvc的post都是按原始的方式进行或使用ajax方法。不需要使用回发的控件服务端事件。ajax调用action方法就类似于调用webservice方法一样。而webform中的事件也可以理解为javascript提交的post方法去触动后台的控件方法。


    I am here!
    • 已标记为答案 ogra 2010年11月4日 10:53
    2010年11月4日 2:40
    版主