ASP.NET 5和MVC的目的

时间:2015-11-06 16:22:20

标签: jquery asp.net knockout.js asp.net-web-api asp.net-core-mvc

我一直在研究ASP.NET网站的基础文档和各种教程,例如Getting Started with Knockout in ASP.NET 5

我喜欢依赖于它的依赖注入和日志记录功能,我可以想象创建我的数据服务层在Startup类的configure services部分注册它。显然,这将允许我从我创建的任何未来控制器访问任何已注册的服务。

但是,在完成了一些教程和演练之后,我发现如果我选择使用knockout和jquery,那么我会在页面上用javascript和Get / POST / PUT等创建我的viewModel直接从客户端访问我的API。永远不会访问该页面的MVC控制器。那么为什么要打扰MVC?

我查看了人们在MVC控制器上调用操作然后调用API的示例,但这似乎有点多余。

我对这项来自XAML MVVM观点的技术相对较新,淘汰赛令人耳目一新。那么为什么我会为客户端应用程序而烦恼MVC框架呢? 当然如果我选择使用knockout / jquery那么MVC是多余的?

任何人都可以帮助澄清我将要学习的内容吗?

1 个答案:

答案 0 :(得分:2)

您选择的解决方案可为您带来最大收益。如果您纯粹在客户端的淘汰赛中实施您的应用程序,使用淘汰组件构建页面等,您可以随意使用WebAPI。你不会错过MVC。

然而,在某些情况下,你仍然喜欢混合它。例如,您可能更喜欢使用MVC的部分来组织代码。您可能会包含基于Razor自定义Html Helper的漂亮的缓存页面本地化,因此可以保持js更清晰,更轻松。您可以选择MVC提供的模型的开箱即用客户端验证。

某些项目可能仍然有很多对MVC和基于它构建的库的引用。那些日子没有太多你不能没有ASP MVC,但它仍然有很多东西可以提供,并且不使用一切的惩罚很小。

无论如何,即使你跳过了' V'部分,模型(或ViewModels)仍然存在,您不想发送您的数据实体视图ajax。