当我第一次听到关于计算器,并听到,它正在兴建中ASP.Net 视,我是有点困惑。我以为ASP.Net 总是一个例子的一个视的架构。你有.aspx页,提供查看。aspx。vb页,提供控制器,并且可以创建的另一类的模型。该过程使用视在ASP.Net 描述在这 Microsoft的文章.

所以我的问题。这是什么ASP.Net 视提供你不能够做到与常规ASP.Net (甚至是回溯ASP.Net 1.1)?这只是花哨的网址?它只是吹牛的权利MS能够比较自己的新技术,如红宝石在轨道上,并且说,"我们可以做到这一点"?是否有更多的东西,ASP.Net 视实际上提供,而不是几个额外的模板在本文件>新的菜单吗?

我可能听起来真的怀疑和负面的权利,所以我将仅仅停止。但是我真的想知道什么ASP.Net 视实际上提供的。此外,如果任何人都可以告诉我为什么它的模型图控制和不了的层的视器模型或模型制图取决于你是否会从上到下,反之亦然,我真的很欣赏这一点。

编辑

此外,它可能值得指出的是,我从来没有真正关心网络形式(又名服务器的控制)的模型。我只使用它的最小的,并且从来没有在工作。

有帮助吗?

解决方案

.aspx不履行的视模式,因为aspx页("查看")是所谓的前后面的代码(《'控制').

这意味着控制器具有'硬依存'的看法,这是非常反对视原则。

其中一个核心利益的视的是,它允许你测试你的控制器(其中包含了很多逻辑)没有实例,一个真正的图。你只是不能这样做。aspx的世界。

测试控制所有通过自身的速度远远超过具有的实例整个asp.net 管道(应用程序,请求中,回应,视状态,会议的国家等)。

其他提示

斯科特*格思里所解释的,它在此后"ASP.NET 视框架"

  • 它允许清洁分离的问题,可测性、和文字的 默认。所有核的合同在 该软框架是根据接口 和容易模仿(它包括 接口基 IHttpRequest/IHttpResponse 内部函数).你可以单元的测试 应用程序没有具有运行 在一个控制器ASP.NET 过程 (制作的单元测试快速)。你可以 使用任何单元的测试框架你 想到做这个测试(包括 关,MBUnit,MS试验,等等)。

  • 这是非常可扩展和可插入.一切都在视 框架的设计,以便它可以 可以很容易地更换/定制的(对 例如:你可以选择的插件 你自己看发动机、路由选择的政策, 参数化等)。它的 还支持利用现有的 依赖注射和海委会的容器 模式(温莎Spring.Net, 它能够等)。

  • 它包括一个非常强大的URL映射成分,使你能够 建立应用洁净的网址。网址不需要有扩展 在他们之内,并且被设计成 很容易地支持搜索引擎优化和其他友好 命名的模式。例如,我可以 很容易地映射/products/编辑/4URL "编辑"的行动 ProductsController类在我的项目 以上或地图的 博客/scottgu/10-10-2007/SomeTopic/ URL"DisplayPost"行动的一个 BlogEngineController类。

  • 该软框架支持利用现有的ASP.NET .ASPX.ASCX, .主标记的文件,如"查看 模板"(这意味着你可以很容易使用 现有的ASP.NET 特色套 主页, <%=%>段, 声明性服务器的控制, 模板,数据结合、本地化 等等)。没有,但是,使用 现有的后背模型 相互作用的回服务器。相反,你会路线的所有最终用户 相互作用的一类控制器 而不是-它可以帮助确保干净 分离的关切问题和可测性 (它也意味着无视图状态或页面 生命周期的视基于的意见)。

  • 的ASP.NET 视框架完全支持现有的ASP.NET 功能 像形式/窗户认证、网址 授权、成员资格/角色, 输出和数据的高速缓存, 会议/配置状态的管理, 健康监测、配置 系统,提供构架, 等等。

首先,这使得它很容易造可测试的网站以及定义的分的责任。它也更容易地创建有效的XHTML研究所使用的新软框架。

我已经使用第2CTP(我认为他们是在五)开始工作上一个网站,创建了一些网络应用程序之前,我必须说,它的数百倍,比用于服务器的控制模式。

服务器控制的现时你不知道你在做什么。你开始了解如何维网应用程序的功能,你开始的战斗。最终,你得写自己获得过去的缺点目前控制。其在这一点在那里的视开始于光芒。这就是甚至没有考虑到测试你的网站...

伟大的文章通过恐龙Esposito,意味着解释ASP.net 视,ASP.net web表单developpers:

http://dotnetslackers.com/articles/aspnet/AnArchitecturalViewOfTheASPNETMVCFramework.aspx

没有更多的自动生成html Id!!!任何人做任何种类的javascript赞赏这一事实。

ASP.Net 它的代码是 几乎 视-但不是-一个大事件,使得它不是codebehinds是直接关系到aspx的-这是一个很大的部件的视.如果你想的codebehinds作为控制器的应该完全脱钩的看法。新的。净视轮这种出和带来一个完整的视的框架。虽然有现有的。净已经(见Spring.NET).

我看过几个简单的例子,例如 这一个.我可以看到的差异。然而,我真的不怎么看软将变图从控制器。图仍然引用的东西,在控制器。我看到它是如何使它更容易测试的,至少在软控制器不会有任何知识的看法。你不会有处理该看到电话的方法在控制器。我可以看到这是一个飞跃,即使乍一看,这似乎不多。

我不同意@会有关的战斗服务器的控制。我从来没有工作在一个情况下,他们被实际上用,但是很多人我知道谁拥有的,遇到不少限制它们。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top