asp.net-mvc – 我何时以及为什么要考虑asp.net MVC?
我最近注意到很多关于asp.net MVC的讨论,但是我没有遇到过关于何时,何地或为什么要在WebForms上使用它的清晰或引人注目的描述.
假设我想构建一个允许一个人在线宣传某些项目的小型Web应用程序.该网站将有4个用例: >搜索广告 我们假设: >我对我的控制器的单元测试不是特别感兴趣.页面将正确呈现项目列表,否则不会. 所以,我的问题是: >两种模型之间的根本区别是什么? 感谢任何花时间贡献答案的人. 解决方法
WebForms尝试模仿WinForms开发,允许您重用大量预制控件,并通过隐藏的_VIEWSTATE机制伪造Web应用程序状态. MVC是一种旨在帮助您分离数据(模型),业务逻辑(Controller)和表示(View)的模式.它更多地依赖于Web的真实性质:RESTful URL,无状态.
在我看来,对于大量使用控件的Intranet应用程序,WebForms可以减少开发时间,因为感谢设计人员可以非常快速地创建UI并让框架自动管理应用程序的状态. 对于任何其他项目,特别是一个公共网站,甚至是一个小网站,我认为MVC是要走的路.
我要说有一些学习曲线可以完全理解MVC模式及其功能.此外,由于框架仍在BETA中,因此您可以期望API在发布之前经历一些小的更改. 由于JavaScript不会在MVC中隐藏,因此如果您不熟悉它,还需要一些时间来学习. jQuery大大简化了这一点.
您可以更好地控制HTML标记和Javascript行为,更清晰地分离关注点和一些易于测试的代码库(即使您似乎对单元测试不感兴趣).
您将失去构建页面和应用程序状态管理的“拖放”快速方法.
在某些方面,似乎是的. 我推荐观看由Phil Haack观看的this talk,他对框架进行了很好的概述,并邀请Jeff Atwood谈谈他是如何用它构建StackOverflow的. 他解释了SO如何使用CAPTCHA的一些WebForms控件将其自身呈现在视图中. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- Asp.net会话交叉/混合
- asp.net-mvc – 如何使用ASP.NET Core,2.0中的Razor Pages处
- asp.net-mvc – 流文本输出长时间运行的动作?
- asp.net-web-api – 如何配置OData不处理Web Api中的非odat
- Asp.net mvc vs Angular JS用于开发应用程序
- asp.net-mvc-3 – MVC3 Html.EditorFor在我的视图中不渲染任
- Asp.net超链接控件相当于
- 悟透JavaScript
- JObject对象如何获取深度属性值&不判断key是否存在获取
- asp.net-mvc-3 – ASP.Net MVC 3 Razor Concatenate String
- asp.net-mvc-3 – 在代码MVC Razor中呈现局部视图
- asp.net-mvc – SSL握手问题? (当时:网页挂起,
- asp.net-mvc – mvc视图中的条件逻辑vs htmlhelp
- asp.net-mvc – ASP.NET MVC:处理取消按钮的正确
- 从Azure功能调用Asp.Net Web API端点
- asp.net – IIS上的远程调试 – 访问被拒绝的梦魇
- asp.net-mvc – 如何检查哪个动作方法呈现当前视
- asp.net-mvc-3 – 我怎么能用CheckBoxFor使用int
- .net – 如何将变量传递给SqlDataSource的Select
- asp.net-web-api – WebApi DelegatingHandler未