Asp.net mvc 使用Sencha';s ExtJS MVC与ASP.NET MVC

Asp.net mvc 使用Sencha';s ExtJS MVC与ASP.NET MVC,asp.net-mvc,viewmodel,extjs4,extjs,extjs-mvc,Asp.net Mvc,Viewmodel,Extjs4,Extjs,Extjs Mvc,我想问问是否有人尝试过将Sencha的ExtJS4(使用MVC方法)与ASP.NETMVC(使用视图模型)结合使用 我有一个使用视图模型的ASP.NET MVC 3应用程序,我的问题是这个“适合”Sencha的MVC方法…ASP.NET MVC“视图模型”会变成ExtJS“模型”吗?然后我会为ExtJS定义另一个“视图模型”…似乎有很多“翻译” 最好的方法是什么 是的,我知道有一些项目使用Ext.Direct将ASP.NET MVC与ExtJS集成在一起,但我的问题与MVC范式的“两面”(ASP

我想问问是否有人尝试过将Sencha的ExtJS4(使用MVC方法)与ASP.NETMVC(使用视图模型)结合使用

我有一个使用视图模型的ASP.NET MVC 3应用程序,我的问题是这个“适合”Sencha的MVC方法…ASP.NET MVC“视图模型”会变成ExtJS“模型”吗?然后我会为ExtJS定义另一个“视图模型”…似乎有很多“翻译”

最好的方法是什么

是的,我知道有一些项目使用Ext.Direct将ASP.NET MVC与ExtJS集成在一起,但我的问题与MVC范式的“两面”(ASP.NET和Sencha ExtJS)密切相关

谢谢
Z.

虽然我没有用ExtJS做过这件事,但我真的不认为有任何冲突。我在这里假设了很多,我知道,但是如果ExtJS与JSON一起工作,并且您有ASP.NET MVC动作发出JSON,那么这实际上是一个哲学上的差异,而不是技术上的差异

与普通MVC应用程序的一个区别是,您的ASP.NET MVC应用程序可能没有任何视图,因为视图将完全由ExtJS处理


从服务器端看,ASP.NET MVC实际上并不关心——它获取一个映射到控制器和操作的请求,处理该请求并返回一些结果。不管结果是HTML、JSON、XML还是其他什么,ASP.NET根本不在乎。

虽然我没有使用ExtJS来实现这一点,但我真的认为没有任何冲突。我在这里假设了很多,我知道,但是如果ExtJS与JSON一起工作,并且您有ASP.NET MVC动作发出JSON,那么这实际上是一个哲学上的差异,而不是技术上的差异

与普通MVC应用程序的一个区别是,您的ASP.NET MVC应用程序可能没有任何视图,因为视图将完全由ExtJS处理


从服务器端看,ASP.NET MVC实际上并不关心——它获取一个映射到控制器和操作的请求,处理该请求并返回一些结果。无论结果是HTML、JSON、XML还是其他什么,ASP.NET都不关心。

我们目前的方法可以称为MVCCM或MVC-CM。 在ExtJs中,视图是面板和框等,带有模型的存储构成模型,您需要一些逻辑使这些组件协同工作,这些组件就是控制器

这个ExtJs前端位于MVC3项目中,并公开了控制器方法,这些方法通常返回Json数据,这些数据是从模型后端(通常由实体组成)获取的

服务器端的实体和存储客户端中定义的模型之间没有编程链接。可以从实体生成存储,但我们尚未对此进行研究


Microsoft MVC3框架中的视图只是一个返回一些div标记的页面,ExtJS可以将内容呈现到这些div标记中。

我们目前的方法可以称为MVCCM或MVC-CM。 在ExtJs中,视图是面板和框等,带有模型的存储构成模型,您需要一些逻辑使这些组件协同工作,这些组件就是控制器

这个ExtJs前端位于MVC3项目中,并公开了控制器方法,这些方法通常返回Json数据,这些数据是从模型后端(通常由实体组成)获取的

服务器端的实体和存储客户端中定义的模型之间没有编程链接。可以从实体生成存储,但我们尚未对此进行研究


Microsoft MVC3框架中的视图只是一个返回一些div标记的页面,ExtJS可以将内容呈现到其中。

我同意您的看法,ASP.NET MVC应用程序不会有自己的视图(ExtJS会),但ASP.NET MVC应用程序将返回一个“视图模型”供ExtJS使用。我很难理解的是如何将“视图模型”映射到同样使用MVC方法的ExtJS应用程序中……术语“视图模型”实际上对MVC来说相当陌生,可能会让您对MVVM模式感到困惑。对于您的问题,ASP.NET MVC应用程序的JsonResult操作需要返回与ExtJS中定义的结构匹配的JSON对象。然而,这并不一定意味着它们必须与ASP.NET MVC模型相匹配——您可以在您的操作中根据需要构建数据。因此,您需要在ExtJS中定义一个模型,并在ASP.NETMVC中定义一个操作,该操作会发出与该模型匹配的数据。然而,您选择在ASP.NET“模型”中构建它实际上取决于您。我对MVC和MVVM模式都很熟悉……除了常规的域模型之外,还有许多ASP.NET MVC应用程序使用“视图模型”。但正如您所说,在ASP.NET MVC端,操作必须返回JsonResult,它将代表ExtJs中的“模型”……我同意您的看法,ASP.NET MVC应用程序将不会有自己的视图(ExtJs会),但ASP.NET MVC应用程序将返回一个“视图模型”供ExtJs使用。我很难理解的是如何将“视图模型”映射到同样使用MVC方法的ExtJS应用程序中……术语“视图模型”实际上对MVC来说相当陌生,可能会让您对MVVM模式感到困惑。对于您的问题,ASP.NET MVC应用程序的JsonResult操作需要返回与ExtJS中定义的结构匹配的JSON对象。然而,这并不一定意味着它们必须与ASP.NET MVC模型相匹配——您可以在您的操作中根据需要构建数据。因此,您需要在ExtJS中定义一个模型,并在ASP.NETMVC中定义一个操作,该操作会发出与该模型匹配的数据。然而,您选择在ASP.NET“模型”中构建它实际上取决于您。我对MVC和MVVM模式都很熟悉……除了常规的域模型之外,还有许多ASP.NET MVC应用程序使用“视图模型”。但正如您所说,在ASP.NETMVC端,操作必须返回JsonResult,它将代表ExtJs中的“模型”,而不是re