Asp.net mvc 淘汰赛js战胜mvc

Asp.net mvc 淘汰赛js战胜mvc,asp.net-mvc,asp.net-mvc-4,razor,knockout.js,knockout-2.0,Asp.net Mvc,Asp.net Mvc 4,Razor,Knockout.js,Knockout 2.0,我已经使用.NETMVC和RazorView引擎开发了应用程序。 最近我经历了MVC应用程序使用的knockoutjs 从10000英尺的鸟瞰图中,我发现两种方法都有类似的双向绑定机制 在第一种方法中,我们使用razor语法绑定模型,在第二种方法中,我们使用knockout数据绑定属性 我的理解是,为什么现在很多人更喜欢淘汰赛和最近所有的热门话题呢。替换razor语法是否比使用knockout库有什么主要优势?它们之间没有任何关系 ASP.NETMVC 顾名思义,它使用MVC模型视图控制器技术。

我已经使用.NETMVC和RazorView引擎开发了应用程序。 最近我经历了MVC应用程序使用的knockoutjs

从10000英尺的鸟瞰图中,我发现两种方法都有类似的双向绑定机制

在第一种方法中,我们使用razor语法绑定模型,在第二种方法中,我们使用knockout数据绑定属性


我的理解是,为什么现在很多人更喜欢淘汰赛和最近所有的热门话题呢。替换razor语法是否比使用knockout库有什么主要优势?

它们之间没有任何关系

ASP.NETMVC 顾名思义,它使用MVC模型视图控制器技术。这意味着您拥有一个包含所有业务逻辑的模型,可用于创建视图模型,以使用razor模板呈现视图。浏览器可以将数据发布到控制器,控制器通常会通过创建新视图模型来渲染新视图,并将其作为响应发送到浏览器

因此,这项技术基本上使用浏览器向服务器发送GET或POST请求,服务器使用渲染视图进行应答。它可以直接完成,也可以使用AJAX。ASP.NET MVC的功能更为广泛,可以做的事情远不止渲染视图,但这是基本思想

因此,ASP.NET MVC让服务器参与所有操作:它必须实例化并使用一个控制器,执行一个操作,并将其结果作为响应发送给浏览器

击倒 这项技术在几个方面完全不同:

它使用MVVM,MVVM由视图HTML和模型JavaScript对象之间的双向绑定组成。任何一端的更改将自动应用于另一端。 它发生在客户端,不使用或不依赖服务器资源 它通常不涉及繁重的业务逻辑,而是可以向用户显示和获取数据的简单视图模型。 这就是淘汰赛能为你做的一切。如果需要涉及服务器和繁重的业务逻辑,则需要通过发送和接收对象与服务器通信,这通常是通过公开Web API服务以JSON格式实现的。这些服务通常使用ASP.NET Web API实现,但也可以使用带有JSON结果的ASP.NET MVC操作实现,这是一个更糟糕的选项

结论 因此ASP.NETMVC涉及到控制器的持续使用以及浏览器和服务器之间的通信,而Knockout是一种完全不需要服务器的纯客户端技术。当然,为了使淘汰应用程序有用,您通常与服务器进行通信


OTOH,Knockout允许创建一个单页应用程序,它是一个JavaScript应用程序,可以自己运行,而无需从服务器加载新的完整页面,并且通常以Web API的形式与服务通信。这样做的一个优点是,即使在另一端没有服务器的情况下,应用程序也可以工作,而且响应速度更快,因为它不依赖于与服务器的交互来刷新视图。

它们彼此无关

ASP.NETMVC 顾名思义,它使用MVC模型视图控制器技术。这意味着您拥有一个包含所有业务逻辑的模型,可用于创建视图模型,以使用razor模板呈现视图。浏览器可以将数据发布到控制器,控制器通常会通过创建新视图模型来渲染新视图,并将其作为响应发送到浏览器

因此,这项技术基本上使用浏览器向服务器发送GET或POST请求,服务器使用渲染视图进行应答。它可以直接完成,也可以使用AJAX。ASP.NET MVC的功能更为广泛,可以做的事情远不止渲染视图,但这是基本思想

因此,ASP.NET MVC让服务器参与所有操作:它必须实例化并使用一个控制器,执行一个操作,并将其结果作为响应发送给浏览器

击倒 这项技术在几个方面完全不同:

它使用MVVM,MVVM由视图HTML和模型JavaScript对象之间的双向绑定组成。任何一端的更改将自动应用于另一端。 它发生在客户端,不使用或不依赖服务器资源 它通常不涉及繁重的业务逻辑,而是可以向用户显示和获取数据的简单视图模型。 这就是淘汰赛能为你做的一切。如果需要涉及服务器和繁重的业务逻辑,则需要通过发送和接收对象与服务器通信,这通常是通过公开Web API服务以JSON格式实现的。这些服务通常使用ASP.NET Web API实现,但也可以使用带有JSON结果的ASP.NET MVC操作实现,这是一个更糟糕的选项

结论 因此ASP.NET MVC涉及到控制器的持续使用 d浏览器和服务器之间的通信,而Knockout是一种完全不需要服务器的纯客户端技术。当然,为了使淘汰应用程序有用,您通常与服务器进行通信


OTOH,Knockout允许创建一个单页应用程序,它是一个JavaScript应用程序,可以自己运行,而无需从服务器加载新的完整页面,并且通常以Web API的形式与服务通信。这样做的一个优点是,即使在另一端没有服务器的情况下,应用程序也可以工作,而且响应速度更快,因为它不依赖于与服务器的交互来刷新视图。

因为是新的一年,我认为这个问题值得深思熟虑的评估,即使这是一个自以为是的话题@吉姆·托兰一开始我认为这个问题应该以过于宽泛或者主要基于观点来结束。然而,我认为基本原理可以像我所做的那样加以解释,对于一些人来说,快速掌握这些技术之间的区别可能是值得的。当然,这可以用许多不同的方式来解释,并用解释来填充大量的空间,但基础就是基础,不难解释。也许我会看到这个问答过去,也许不会。因为是新年,我认为这个问题值得深思熟虑的评价,即使这是一个固执己见的话题@吉姆·托兰一开始我认为这个问题应该以过于宽泛或者主要基于观点来结束。然而,我认为基本原理可以像我所做的那样加以解释,对于一些人来说,快速掌握这些技术之间的区别可能是值得的。当然,这可以用许多不同的方式来解释,并用解释来填充大量的空间,但基础就是基础,不难解释。也许我会看到这个问答通过或可能没有。