以前嘛,web开发还没分层的时候,就是服务器代码和HTML代码混在一个页面上,后来有了ASP.NET X.0,开始有codebehind,但是接下去到MVC,怎么又回到服务器代码和HTML混编了?是微软觉得之前的方向不对了?我记得之前脱离混编时说了大堆好处,现在回去了,还是一堆好处,我有点乱了。

解决方案 »

  1.   

    MVC 也是分层,数据模型 控制器 视图。
      

  2.   

    不必要乱,各有各的好处。asp.net mvc能够让我们在前台有更细粒度的控制,而webform能够让我们享受控件开发的乐趣。
      

  3.   


    我觉得用久webform然后立马改去写MVC,很不习惯,习惯了之前一拖就用的依赖,现在要自个敲,这方面效率确实低了些。不过如你所说,MVC的我们可以耕细粒度控制,摆脱了用固定控件难以扩展的弊病。我是这么理解的,请指教。
      

  4.   

    我感觉mvc分层挺好的,前端把html写好,直接拷贝过来,通过mvc中的aspx或者razor模板引擎去循环输出,而不是用以前那种老的repeater等控件,在后台实体层和业务逻辑层也分开的好,维护性和可读性感觉都比以前要好
      

  5.   

    webform你也需要在aspx里写代码控制输出
    关键是不要把业务逻辑也写到view里,view里的代码仅仅是组织html,不应该有取数据的操作
      

  6.   

    MVC和早起的混编还是有区别的,它是视图引擎来完成工作。 控制器可以调用不同的视图来显示。
    webform同样有它自己的优点。 微软推出MVC并不是取代webform。 不用纠结。
      

  7.   

    webfrom是基于事件驱动模型设计的
    控件有利也有弊
      

  8.   

     同意此观点,用MVC开发已有半年,搞过3个系统了,感觉挺好
      

  9.   

    说实话 倒是没见过哪个大型门户使用MVC和三四层 楼主不必纠结这些东西建议楼主把精力转到 服务器开销、客户端体验、搜索引擎友好度等这些上面来
      

  10.   

    所谓BS  说到底  ,
     就是通过HTTP协议传输数据  ,
    做好两件事就够了 ,
    1、接收参数的时候,做好足够的验证,
    2、输出正确的数据到客户端,
    (输出网页,就输出一堆标准XML字符串,其它都不重要)
    还有输出二进制流,还有如果做WebApi的话,输出的就是yes/no,0/1之类的东西了
      

  11.   

    说实话,没看懂你的问题。楼主,
    没看懂你想问什么。首先,你先搞明白web开发的本质是什么。在你理解了html报文交换这个概念之后,不管是混编也好,不混编也好,到最后不都是要输出动态html给客户端么?只不过编程工具和方式在变化而已,可是不管你是webform,还是asp.net mvc,最后要达到的目的都一样。即使在webform时代,服务器代码依旧是跟html混编的,事实上,你不混编的话就得从后台手写html response,但是那样很费力不讨好。所以才有了这所谓的混编,目的是让你的开发更轻松更有效率一些而已。至于好处什么的,你不一定要学.net的开发方式,可以了解一下php,ruby,看看它们是怎么运作的,一样可以加深你对web开发的理解。实在不行,java也凑合。
      

  12.   

    所谓asp.net mvc是抄15年前的struts的,它根本没有所见即所得的开发环境。而根本不支持这个环境,就无所谓code-behinde的。比如说你去学三维动画电影的制作,如果你熟练地使用某种开发环境,那么你就会用这种环境所支持的思想方法和模型。而如果你只是扯一堆底层的基本“绘图学概念”,根本没有基于一个强大的“用鼠标拖拉就能高效率地开发”的环境来制作动画电影,那么你自然就会说一些似是而非的话,反而还以为越是低级的开发环境越“清晰、高效、容易调试”似地。asp.net webform不符合最近5年来的web开发潮流,因此同样是没有内涵任何完善Ajax控件(插件)的asp.net mvc反而是因为什么ide功能支持都没有、反而被认为是更容易使用了。
      

  13.   

    你在开发是要首先搞清楚你是在开发一个丰富交互界面的企业应用软件,还是在开发一个只有几个简单宣传性质的网页的网站!搞清楚这个再去纠结技术,会减少大量奇怪的想法。有些人只有做简单网页的能力,而交互界面开发他依赖的是jQuery等等,根本跟asp.net mvc没有关系,这时候后台可以使用别的任何平台都无所谓。
      

  14.   

    你以前使用webform的时候可能没有区分清楚自己是在开发丰富交互(包括嵌入子窗口和弹出窗口)的企业应用程序、还是简单网页。大多数专门针对企业开发软件的人,是不屑于跟那些只会做简单网页的人来讨论asp.net或者别的什么开发平台的技术“优劣”的,因为不在同一个频道上。而你如果以前没有注意这个区别,说明你以前用asp.net可能也没有做出过什么比较好的产品级的asp.net应用,可能更多地也只是简单地“练手”或者非常简单地OA画面。
      

  15.   

    你以前使用webform的时候可能没有区分清楚自己是在开发丰富交互(包括嵌入子窗口和弹出窗口)的企业应用程序、还是简单网页。大多数专门针对企业开发软件的人,是不屑于跟那些只会做简单网页的人来讨论asp.net或者别的什么开发平台的技术“优劣”的,因为不在同一个频道上。而你如果以前没有注意这个区别,说明你以前用asp.net可能也没有做出过什么比较好的产品级的asp.net应用,可能更多地也只是简单地“练手”或者非常简单地OA画面。同意,另外楼上的说话过了
      

  16.   

    你以前使用webform的时候可能没有区分清楚自己是在开发丰富交互(包括嵌入子窗口和弹出窗口)的企业应用程序、还是简单网页。大多数专门针对企业开发软件的人,是不屑于跟那些只会做简单网页的人来讨论asp.net或者别的什么开发平台的技术“优劣”的,因为不在同一个频道上。而你如果以前没有注意这个区别,说明你以前用asp.net可能也没有做出过什么比较好的产品级的asp.net应用,可能更多地也只是简单地“练手”或者非常简单地OA画面。
    好吧,我承认,你说得让我更乱了。
      

  17.   


    您认为“弊”在哪呢?
    http无状态,webform将其模拟成有状态,代价是网速
      

  18.   


    不是方向不对,而是多一条路选择。ASP.NET当年据说是为了替代ASP,但ASP.NET MVC并非是要替代ASP.NET,所以发现方向并没有变。